• <nav id="cwumo"><code id="cwumo"></code></nav>
  • <menu id="cwumo"><strong id="cwumo"></strong></menu>

    jquery實現頁面百葉窗走馬燈式翻滾顯示效果的有效方法

    時間:2024-06-13 22:36:53 jQuery Mobile 我要投稿
    • 相關推薦

    jquery實現頁面百葉窗走馬燈式翻滾顯示效果的有效方法

      1. 這里的代碼需要jquery1.3以上的支持,如下所示:

      復制代碼 代碼如下:jQuery.fn.extend((

      function($){

      var l = 4,//卷動行數

      t=5000,//卷動完一次后,隔多長時間下次開始卷動

      rt=500,//每個n卷動過去的耗時

      n="li",//默認的卷動對象內包含的要卷動的HTML標記

      o="ul",//如果卷動時,啟用的包裹卷動元素的HTML標記

      e,//調用對象

      en,//調用對象內所有的要卷動的對象集合

      h;//卷動行高度

      var vLimit=80;//比視覺極限0.1s還小點

      var maxRnum=Math.ceil(rt/vLimit);//最大卷動次數

      var maxRh=0;//每次卷動高度

      var fnRollFirst=function(arg){//將arg向上卷1個n,完成之后將第1個n移動到最后一個位置

      var rCount=0;//卷動次數紀錄

      var rVal=setInterval(function(){//每隔vLimit循環一次,共循環maxRnum-1次

      rCount++;

      arg.scrollTop(arg.scrollTop()+maxRh);

      if(rCount>=(maxRnum-1)){//少卷1次

      clearInterval(rVal);

      arg.scrollTop(arg.scrollTop()+h-maxRh*(maxRnum-1));//最后1次修正卷動值

      //移動第一個元素到最后

      var nowN=arg.children(n);

      nowN.eq(nowN.length-1).after(nowN.eq(0));

      //第一個位置空出后需要通過倒卷修正回來

      arg.scrollTop(-h);

      };

      },vLimit);

      };

      var fnRollArr=function(arg){//對數組中的對象逐一啟動卷動

      var out=setInterval(function(){

      fnRollFirst(arg.shift());

      if(!arg.length){

      clearInterval(out);

      };

      },rt);

      };

      var fnRoll=function(){//獲得需要逐個卷動的對象集合

      var arr=new Array();

      e.children(o).each(function(){

      var rn=$(this).children(n);

      if(rn.length>1){

      arr.push($(this));

      };

      });

      setInterval(function(){

      fnRollArr(arr.slice(0));

      },t);

      };

      var fnLay=function(){//布局頁面

      h=en.height();

      var nu=Math.ceil(en.length/l);

      var u=$("<"+o+">");

      u.css({"overflow":"hidden","height":h+"px","margin-bottom":"15px"});

      for(var i=0;i<l;i++){

      en.slice(nu*i,nu*(i+1)).wrapAll(u);

      };

      };

      var fnMain=function(){//卷動主方法

      if(maxRnum>1){

      fnLay();

      maxRh=Math.ceil(h/maxRnum);

      fnRoll();

      };

      };

      var fnStart= function(arg){//初始化顯示方式

      e=arg;

      en = e.children(n);

      en.show();

      if(en.length>l){

      fnMain();

      }else{

      return false;

      };

      };

      return {

      setLine : function(num){//設置要分成多少行來卷動

      (!isNaN(num) && num>0)";

      return this;

      },

      setTime : function(num){//卷動間隔時間:毫秒

      (!isNaN(num) && num>0)";

      return this;

      },

      startRoll : function(){//啟動卷動

      fnStart(this);

      }

      };

      }

      )(jQuery));

      2. 頁面可以是這樣子

      復制代碼 代碼如下:

      //$("#re").setLine(5).setTime(3000).startRoll();

      //簡單的調用

      $("#re").startRoll();


    【jquery實現頁面百葉窗走馬燈式翻滾顯示效果的有效方法】相關文章:

    關于jquery簡單圖片切換顯示效果實現方法介紹10-01

    關于jQuery實現高亮顯示的方法介紹08-20

    Word頁面顯示異常處理辦法06-18

    有效果的時間管理方法09-21

    最有效果的英語學習方法08-04

    盤點冷門卻有效果的網絡推廣方法09-24

    jQuery(js)如何獲取文字寬度(顯示長度)09-29

    jQuery中prev()方法用法07-16

    jQuery中replaceAll()方法用法10-15

    用SQL實現查詢數據不顯示錯誤數據的方法08-19

    日韩激情