$(".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