瀑布流实现
来源:互联网 发布:mac版spss23 编辑:程序博客网 时间:2024/05/01 05:07
瀑布流实现
json数据样式
{ "data": [ { "0": "加勒比海盗3:世界的尽头", "1": "Pirates of the Caribbean: At World's End", "2": "奇幻,动作", "3": "9", "4": "2007", "5": "2", "6": "1", "7": "2015-05-24 06:00:05", "name": "加勒比海盗3:世界的尽头", "name_en": "Pirates of the Caribbean: At World's End", "type": "奇幻,动作", "star": "9", "premiere": "2007", "extends": "2", "foreign": "1", "watch_time": "2015-05-24 06:00:05" }, { "0": "加勒比海盗4:惊涛怪浪", "1": "Pirates of the Caribbean: On Stranger Tides", "2": "奇幻,动作", "3": "8", "4": "2011", "5": "4", "6": "1", "7": "2015-05-24 06:00:22", "name": "加勒比海盗4:惊涛怪浪", "name_en": "Pirates of the Caribbean: On Stranger Tides", "type": "奇幻,动作", "star": "8", "premiere": "2011", "extends": "4", "foreign": "1", "watch_time": "2015-05-24 06:00:22" } ], "flag": [ true ]}
<script> var index = 1; var id = 1; $(window).on('load',function(){ InsertData(GetData(index));//初始化加载数据 $(window).on('scroll',function(){ //滚动时 if(IsScrolling()){ var data = GetData(index); if(data.flag){ InsertData(GetData(index)); }else{ $('#load_more').html('-- End --'); $(window).off('scroll'); //没有数据后去除滚动事件 } } }); }); //把解析的json数据加载到页面中 function InsertData(obj){ $.each(obj.data, function (obj_id,temp) { if(temp.name_en==null){ temp.name_en = ''} var node = '<a id="film'+id+'" class="list-group-item film">\ <span>'+temp.name+'</span><small class="film-enname"> '+temp.name_en+'</small><span class="pull-right hidden-xs film-star">'+StarRank(temp.star)+'</span>\ </a>'; $('#film-list').append(node); $('#film'+id).css({ 'opacity':0.1, 'margin-top':'20px' }); $('#film'+id).animate({ "opacity":1, "margin-top":0 },750); id++; $('#load_more').html('<span class="glyphicon glyphicon-refresh"></span> 载入中...');// echo('第'+index+'次加载数据'); //调试用 }); index++; $('.list-group-item').click(function(){ $('.list-group-item').removeClass('list-group-item-warning'); $(this).addClass('list-group-item-warning'); }) } //从服务器获取数据 function GetData(page){ var data; $.ajax({ type:"GET", url: "film.php?page="+page, dataType: 'json', async:false, //异步加载数据以实现返回结果 //如果把判断和动画加到这里,不会有效果而且会在滚动窗口的时候多次触发 IsScrolling() success: function(json) { data = json; }, error:function(){ $('#load_more').html('加载失败'); } }); return data; } //判断是否可以加载数据 function IsScrolling(){ var offset_top = $('#load_more').offset().top; var win_hegiht = $(window).height(); var body_scroll = $('body').scrollTop(); return offset_top<win_hegiht+body_scroll; } function StarRank(star_count){ var star='<span class="pull-right hidden-xs film-star">'; while(star_count>0){ star+='✿'; star_count--; } star+='</span>'; return star; } function echo(str){ console.log(str); }</script>
结果
0 0
- iPhone瀑布流实现
- PSCollectionView瀑布流实现
- TableView 瀑布流实现
- 瀑布流的实现
- JQ 实现瀑布流
- PSCollectionView瀑布流实现
- PSCollectionView瀑布流实现
- PSCollectionView瀑布流实现
- js实现瀑布流
- PSCollectionView瀑布流实现
- 瀑布流(UIScrollView实现)
- iOS 瀑布流实现
- js实现瀑布流
- 瀑布流简单实现
- CollectionView实现瀑布流
- Javascript实现瀑布流
- jquery实现瀑布流
- UICollectionView实现瀑布流
- MapRedcue例程编译和执行
- dubbo 使用 学习二(spring+dubbo+zookeeper单机服务)
- What is aliasing and what causes it?
- 完美兼容 英雄联盟 穿越火线 DNF 等游戏专用 装机员win10 64位系统
- #import #include @class的区别
- 瀑布流实现
- awt和Swing
- const限定符
- 第八天学习笔记
- 分治-最接近点问题
- 文章标题
- String literal is not properly closed by a double-quote
- PostgreSQL数据库导出导入
- 背包问题