• <menu id="c7kpm"></menu><span id="c7kpm"><center id="c7kpm"><label id="c7kpm"></label></center></span>
    <menu id="c7kpm"><tt id="c7kpm"></tt></menu>
  • <menu id="c7kpm"><button id="c7kpm"><nobr id="c7kpm"></nobr></button></menu>
  • JQuery插件iScroll實(shí)現(xiàn)下拉刷新,滾動(dòng)翻頁(yè)特效
    來(lái)源:易賢網(wǎng) 閱讀:9306 次 日期:2014-07-17 19:17:23
    溫馨提示:易賢網(wǎng)小編為您整理了“JQuery插件iScroll實(shí)現(xiàn)下拉刷新,滾動(dòng)翻頁(yè)特效”,方便廣大網(wǎng)友查閱!

    JQuery插件:iScroll

    頁(yè)面布局:

    <div id="wrapper">

      <div id="scroller">

       <div id="pullDown">

        <span class="pullDownIcon"></span><span class="pullDownLabel">下拉刷新...</span>

       </div>

       <ul id="thelist">

        <li>

         <img src="img/page1_img1.jpg" />

        </li>

        <li>

         <img src="img/page1_img2.jpg" />

        </li>

        <li>

         <img src="img/page1_img3.jpg" />

        </li>

        <li>

         <img src="img/page1_img1.jpg" />

        </li>

        <li>

         <img src="img/page1_img2.jpg" />

        </li>

        <li>

         <img src="img/page1_img3.jpg" />

        </li>

       </ul>

       <div id="pullUp">

        <span class="pullUpIcon"></span><span class="pullUpLabel">上拉加載更多...</span>

       </div>

      </div>翻頁(yè),是通過(guò)ajax請(qǐng)求,把頁(yè)碼傳入一般處理程序,在一般處理程序中獲得分頁(yè)后的數(shù)據(jù)返回json數(shù)組對(duì)象。

    下拉刷新:

    /**

      * 下拉刷新 (自定義實(shí)現(xiàn)此方法)

      * myScroll.refresh(); // 數(shù)據(jù)加載完成后,調(diào)用界面更新方法

      */

      function pullDownAction() {

       setTimeout(function () {

        var el, li, i;

        el = document.getElementById('thelist');

        //==========================================

        $.ajax({

         type: "GET",

         url: "LoadMore.ashx",

         data: { page: generatedCount },

         dataType: "json",

         success: function (data) {

          var json = data;

          $(json).each(function () {

           li = document.createElement('li');

           // li.innerText = 'Generated row ' + (++generatedCount);

           li.innerHTML = '<img src="' + this.src + '"/>';

           el.insertBefore(li, el.childNodes[0]);

          })

         }

        });

        myScroll.refresh(); //數(shù)據(jù)加載完成后,調(diào)用界面更新方法  Remember to refresh when contents are loaded (ie: on ajax completion)

       }, 1000);  // <-- Simulate network congestion, remove setTimeout from production!

      }上拉刷新

    function pullUpAction() {

       setTimeout(function () { 

        var el, li, i;

        el = document.getElementById('thelist');

        //==========================================

        $.ajax({

         type: "GET",

         url: "LoadMore.ashx",

         data: { page: generatedCount },

         dataType: "json",

         success: function (data) {

          var json = data;

          $(json).each(function () {

           li = document.createElement('li');

           //  li.innerText = 'Generated row ' + (++generatedCount);

           li.innerHTML = '<img src="' + this.src + '"/>;    

           el.insertBefore(li, el.childNodes[0]);

          })

         }

        });

        //============================================

        myScroll.refresh(); // 數(shù)據(jù)加載完成后,調(diào)用界面更新方法 Remember to refresh when contents are loaded (ie: on ajax completion)

       }, 1000); // <-- Simulate network congestion, remove setTimeout from production!

      }初始化

    /**

      * 初始化iScroll控件

      */

      function loaded() {

       pullDownEl = document.getElementById('pullDown');

       pullDownOffset = pullDownEl.offsetHeight;

       pullUpEl = document.getElementById('pullUp');

       pullUpOffset = pullUpEl.offsetHeight;

       myScroll = new iScroll('wrapper', {

        scrollbarClass: 'myScrollbar', /* 重要樣式 */

        useTransition: false,

        topOffset: pullDownOffset,

        onRefresh: function () {

         if (pullDownEl.className.match('loading')) {

          pullDownEl.className = '';

          pullDownEl.querySelector('.pullDownLabel').innerHTML = '下拉刷新...';

         } else if (pullUpEl.className.match('loading')) {

          pullUpEl.className = '';

          pullUpEl.querySelector('.pullUpLabel').innerHTML = '上拉加載更多...';

         }

        },

        onScrollMove: function () {

         if (this.y > 5 && !pullDownEl.className.match('flip')) {

          pullDownEl.className = 'flip';

          pullDownEl.querySelector('.pullDownLabel').innerHTML = '松手開(kāi)始更新...';

          this.minScrollY = 0;

         } else if (this.y < 5 && pullDownEl.className.match('flip')) {

          pullDownEl.className = '';

          pullDownEl.querySelector('.pullDownLabel').innerHTML = '下拉刷新...';

          this.minScrollY = -pullDownOffset;

         } else if (this.y < (this.maxScrollY - 5) && !pullUpEl.className.match('flip')) {

          pullUpEl.className = 'flip';

          pullUpEl.querySelector('.pullUpLabel').innerHTML = '松手開(kāi)始更新...';

          this.maxScrollY = this.maxScrollY;

         } else if (this.y > (this.maxScrollY + 5) && pullUpEl.className.match('flip')) {

          pullUpEl.className = '';

          pullUpEl.querySelector('.pullUpLabel').innerHTML = '上拉加載更多...';

          this.maxScrollY = pullUpOffset;

         }

        },

        onScrollEnd: function () {

         if (pullDownEl.className.match('flip')) {

          pullDownEl.className = 'loading';

          pullDownEl.querySelector('.pullDownLabel').innerHTML = '加載中...';

          pullDownAction(); // Execute custom function (ajax call?)

         } else if (pullUpEl.className.match('flip')) {

          pullUpEl.className = 'loading';

          pullUpEl.querySelector('.pullUpLabel').innerHTML = '加載中...';

          pullUpAction(); // Execute custom function (ajax call?)

         }

        }

       });

       setTimeout(function () { document.getElementById('wrapper').style.left = '0'; }, 800);

      }

      //初始化綁定iScroll控件

      document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

      document.addEventListener('DOMContentLoaded', loaded, false);

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn)

    版權(quán)所有:易賢網(wǎng)