關於監聽滾動事件加載更多的代碼

$(".rankDetail").scroll(function(){ //rankDetail是大容器的class
        var scrollHeight = $(this).scrollTop();
        var rankListCount = $(".rankList").length;  //rankList是容器中的一個項目,相似於一個li
        var rankListHeight = $(".rankList").height();
        var rankListTotalHeight = rankListHeight * rankListCount;
        var rankDetailHeight = $(".rankDetail").height();
        var diffHeight = rankListTotalHeight - rankDetailHeight - scrollHeight;
        //能夠加載新數據
        if(diffHeight >=0 && diffHeight < rankListHeight && isLoad == false){
            var pageNum = Math.ceil(rankListCount / pageSize) + 1;//pageSize是加載一次數據總量
            getName(pageNum);  //getName是加載程序,pageNum是加載是所傳的參數
        }
    })

還有另一個問題就是,舉個例子,單頁面上有一個div,頁面刷新的時候div的display爲none,觸發某個事件的時候div顯示出來,在同一個項目的另一個頁面裏面,點擊某個button時跳轉到第一個頁面,同時但願這個頁面的隱藏div處於打開狀態,怎麼辦呢?    給第二個頁面跳轉時設置location.href="/firstPage?title=1"      此時firstPage後面的東西是不影響頁面跳轉的,頁面會跳轉到第一個界面,而後html

if(location.href.indexOf("title=1") !== -1){  //也就證實此時頁面是由第二個頁面跳轉過來的
        divShow();  //將你要顯示的div顯示出來
    }

最後一個問題是動態添加的div的點擊問題:ios

點擊某個button向頁面中添加一個div  ,若是想點擊新添加的div裏面的某個div怎麼辦?git

若是你直接獲取第二個div,而後添加點擊事件,這樣的程序是無法點擊的:參考下面代碼添加點擊事件:github

$(".nameInput").on("click",".moreName",function(){  //moreName是第二個div,nameInput是它的爺爺輩
元素,也就是頁面第一次加載就存在的元素,不是動態添加的;
        var title=$(this).attr("title");
        if(title == 1){  //添加title能夠知道你這個元素是否被點擊過,方面進行其餘操做,注意這個用法很是實用
            $(".nameInput").append(html);//此時的html是一個模版,按需求定義
            $(this).attr("src","./img/delete.png");
            $(this).attr("title","2");
        }else{
            $(this).parent().remove();
        }
    });

輸入框的驗證問題:web

$('.phone').blur(function(){
         var $parent = $(this).parent();
         var value=$(this).val();
         if(this.value==""){
             var errorMsg = '留下您的電話';
            $parent.append('<small class="formtips">'+'*'+errorMsg+'</small>');
         }
    }).keyup(function(){
        $(this).triggerHandler("blur");
    });

blur表明失去焦點時的事件,適用與不使用插件的驗證方式app

補充一下:舉個例子,頁面中有個div設置了overflow-y:auto;內容溢出時在安卓機上能夠滑動加載更多,可是到了ios機子上就會出現拖動時拖動整個頁面,而div裏面的內容沒有加載更多,這個問題的解決辦法見:https://github.com/wwhgtt/iNoBounce;  須要引入的文件爲:<script src="./js/lib/inobounce.min.js"></script>;同時爲你的div設置: -webkit-overflow-scrolling: touch;
this

相關文章
相關標籤/搜索