近期做了一个关于信息展示的详情页面,将里面能够提升用户体验的小点写出来
1.当页面请求新的数据,或上传数据的时候 放一个loading.gif的过渡,告诉用户 你的操作已经完成,正在加载中
2.当所有数据都加载完成时,显示一个提示,告诉用户你的信息已经全部显示
一个滚屏的分页写法
页面结构
<div class="wap" >
<div class="tit">近期投诉举报问题</div>
<ul></ul>
<div class="load"><img class="loading" src="images/loading.gif"></div>
<div class="notext">没有更多内容啦~~</div>
<div class="mask">服务器离家出走了</div>
<div class="img_mask"><img src="images/1.jpg"/></div>
</div>
var num_=1; 一开始是第一页
function refresh(refresh,loadmore) {
        $(window).scroll(function(){
            var scrollTop = $(this).scrollTop();    //滚动条距离顶部的高度
            var scrollHeight = $(document).height();   //当前页面的总高度
            var clientHeight = $(this).height();    //当前可视的页面高度
//           console.log("top:"+scrollTop+",doc:"+scrollHeight+",client:"+clientHeight);
            if(scrollTop + clientHeight >= scrollHeight){   //距离顶部+当前高度 >=文档总高度 即代表滑动到底部 分页数;、 
//              console.log('下拉');
                num_++; //这个是分页的页码 
                fn1(num_)//开始ajax请求多更数据
                //调用加载更多函数
                if(loadmore){ 
                    loadmore();
                }
            }else if(scrollTop<=0){ //滚动条距离顶部的高度小于等于0
                console.log('上拉');
                if(refresh){
                //调用刷新函数 
                    refresh();
                }
            }
        });
    }
下面是一个ajax跨域请求的例子
$.ajax({
            url:'url',
            type:'get',
            dataType:'jsonp',
            jsonp:'jsonpcallback',
            data:{
                'page':num_,
                'pageSize':6
            },
            beforeSend: function(){
          请求完成前加载图标的显示,提示用户正在加载
                $('.load').show()
            },
            complete: function(){
          完成请求时候,隐藏
                $('.load').hide()
            },
            success:function(data){
                if(data.success){
                    if(!data.result.length){
                        /*当数据全部加载完显示*/
                        $('.load').remove();
                        $('.notext').fadeIn(500);
                    }else{
                        console.log(data);
                        for(var i=0;i<data.result.length;i++){
                            $('ul').append('<li>’)
                        }
                    }
                }else{
                    //当数据返回出现问题时候出现的message信息
                    $('.mask').html(data.message).fadeIn(300)
                }
            },
            error:function(data){
                ajax请求不成功
                $('.mask').fadeIn(300);
                setTimeout(function(){
                    $('.mask').fadeOut(300)
                },2000)
            }
        })
效果图
 


    
    










