国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

純javascript實現四方向文本無縫滾動效果

2019-11-20 12:14:24
字體:
來源:轉載
供稿:網友

實現一個文本無縫滾動的效果:

<!DOCTYPE html>  <!--[if lt IE 7 ]> <html lang="zh-CN" class="ie6"> <![endif]--><!--[if IE 7 ]> <html lang="zh-CN" class="ie7"> <![endif]--><!--[if IE 8 ]> <html lang="zh-CN" class="ie8"> <![endif]--><!--[if IE 9 ]> <html lang="zh-CN" class="ie9"> <![endif]--><!--[if (gt IE 9)|!(IE)]><!--> <html lang="zh-CN"> <!--<![endif]--><head><title>文字滾動</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><style type="text/css">*{margin:0;padding:0;}body{padding:20px;} .textbox{border:1px solid #ddd;width:auto;overflow: hidden;} .textbox ul{list-style: none;position: relative;} .textbox ul li{padding:5px 0;}</style></head><body class="home-page">  <div id="textbox" class="textbox">    <ul>      <li>汽車 | 運動B級車降3萬5 </li>      <li>家居 | 這么厲害的裝修 女人真的要坐不住了</li>      <li>教育 | 各省前三報考華工重獎10萬元/人</li>      <li>汽車 | 運動B級車降3萬5 平行進口車加價11萬</li>      <li>健康 | 濫用激素釀苦果 14歲男孩10年不長個兒</li>      <li>數碼 | 最新手機報價 說好的寬帶降費提速呢?</li>      <li>汽車 | 平行進口車加價11萬</li>      <li>汽車 | 運動B級車降3萬5</li>      <li>汽車 | 平行進口車加價11萬</li>      <li>運動 | 恒大亞冠生死戰 猜比分贏正版球衣</li>    </ul>    <a href="#" class="btnPrev">向左</a>    <a href="#" class="btnNext">向右</a>  </div>  <br>  <br>  <div id="textbox2" class="textbox">    <ul>      <li>汽車 | 運動B級車降3萬5 </li>      <li>家居 | 這么厲害的裝修 女人真的要坐不住了</li>      <li>教育 | 各省前三報考華工重獎10萬元/人</li>      <li>汽車 | 運動B級車降3萬5 平行進口車加價11萬</li>      <li>健康 | 濫用激素釀苦果 14歲男孩10年不長個兒</li>      <li>數碼 | 最新手機報價 說好的寬帶降費提速呢?</li>      <li>汽車 | 平行進口車加價11萬</li>      <li>汽車 | 運動B級車降3萬5</li>      <li>汽車 | 平行進口車加價11萬</li>      <li>運動 | 恒大亞冠生死戰 猜比分贏正版球衣</li>    </ul>    <a href="#" class="btnPrev">向上</a>    <a href="#" class="btnNext">向下</a>  </div>  <script type="text/javascript" src="script/jquery-1.11.1.min.js"></script>  <script type="text/javascript">    //四方向無縫滾動    scroll('#textbox',{vis:2,btnHidden:false,dir:'prev',type:'h'});    scroll('#textbox2',{vis:3,btnHidden:false,dir:'prev',type:'v'});    function scroll(container,options){      var box = $(container);      var boxUl = box.find('ul').eq(0);      var LiHeight = 0; //不包含克隆li列表高度      var cloneLiHeight = 0; //包含克隆li列表高度      var LiWidth = 0; //不包含克隆li列表寬度      var cloneLiWidth = 0; //包含克隆li列表寬度      var Lis = boxUl.children();      var btnPrev = box.find('.btnPrev');      var btnNext = box.find('.btnNext');      //默認參數      var defult= {        vis : 2, //顯示個數        autoPlay:true, //自動播放        speed :50, //滾動速度        dir:'prev', //滾動方向        btnHidden:false, //按鈕是否隱藏        type:'v' // 水平或者垂直方向      };      var opt = $.extend({},defult,options);      //構建DOM結構      var lastClone=0; //最后克隆元素      var lastCloneHeight=0;//最后克隆元素高度      var allCloneHeight=0;//全部克隆元素總高度      var lastCloneWidth=0;      var allCloneWidth=0;      var visHeight=0; //可視高度      var visWidth=0;      var boxUl_wrap;      if(opt.type === "v"){ //垂直方向        Lis.each(function(){          $(this).height($(this).height());          LiHeight += $(this).outerHeight(true);        });        lastClone= boxUl.children(':last').clone().addClass('clone').prependTo(boxUl);        lastCloneHeight = lastClone.outerHeight(true);        allCloneHeight = lastClone.outerHeight(true);        for(var i = 0; i < opt.vis ; i++){          Lis.eq(i).clone().addClass('clone').appendTo(boxUl);          allCloneHeight += Lis.eq(i).outerHeight(true);        }        visHeight = allCloneHeight - lastCloneHeight;        cloneLiHeight = LiHeight + allCloneHeight;                boxUl_wrap = $('<div></div>').css({'width':'100%','height':visHeight,'overflow':'hidden','position':'relative'}).attr('id','ulWrap');        boxUl.css({'height':cloneLiHeight,'top':-lastCloneHeight}).wrap(boxUl_wrap);      }else if(opt.type ==="h"){ //水平方向        Lis.css({'whiteSpace':'nowrap','float':'left','paddingRight':'10px'});        Lis.each(function(){          $(this).width($(this).width());          LiWidth += $(this).outerWidth(true);        });        lastClone= boxUl.children(':last').clone().addClass('clone').prependTo(boxUl);        lastCloneWidth= lastClone.outerWidth(true);        allCloneWidth = lastClone.outerWidth(true);        for(var j = 0; j < opt.vis ; j++){          Lis.eq(j).clone().addClass('clone').appendTo(boxUl);          allCloneWidth += Lis.eq(j).outerWidth(true);        }        visHeight = Lis.eq(0).outerHeight(true);        visWidth = allCloneWidth - lastCloneWidth;        cloneLiWidth = LiWidth + allCloneWidth;                boxUl_wrap = $('<div></div>').css({'width':visWidth,'height':visHeight,'overflow':'hidden','position':'relative'}).attr('id','ulWrap');        boxUl.css({'width':cloneLiWidth,'left':-lastCloneWidth}).wrap(boxUl_wrap);        box.css({'width':visWidth});      }      //添加事件處理      var timer = null;      var scrollTop = function(){        clearInterval(timer);          timer = setInterval(function(){            var tmp = parseInt(boxUl.css('top').replace('px',""));            tmp--;            boxUl.animate({'top':tmp},0,function(){              if(tmp <= -(LiHeight + lastCloneHeight)){                boxUl.css('top',-lastCloneHeight);              }            });          },opt.speed);      };      var scrollDown = function(){        clearInterval(timer);          timer = setInterval(function(){            var tmp = parseInt(boxUl.css('top').replace('px',""));            tmp++;            boxUl.animate({'top':tmp},0,function(){              if(tmp >= 0){                boxUl.css('top',-(LiHeight));              }            });          },opt.speed);      };      var scrollLeft = function(){        clearInterval(timer);          timer = setInterval(function(){            var tmp = parseInt(boxUl.css('left').replace('px',""));            tmp--;            boxUl.animate({'left':tmp},0,function(){              if(tmp <= -(LiWidth + lastCloneWidth)){                boxUl.css('left',-(lastCloneWidth));              }            });          },opt.speed);      };            var scrollRight = function(){        clearInterval(timer);          timer = setInterval(function(){            var tmp = parseInt(boxUl.css('left').replace('px',""));            tmp++;            boxUl.animate({'left':tmp},0,function(){              if(tmp >= 0){                boxUl.css('left',-(LiWidth));              }            });          },opt.speed);      };      var scrollType = function(type,dir){        if(Lis.length >= opt.vis){ //顯示個數不能多于列表個數,否則不顯示效果          var sdir = typeof dir!=="undefined" ? dir : opt.dir;          switch(type){            case "v":              if(sdir == "prev"){scrollTop();}else{scrollDown();}              break;            case "h":              if(sdir == "prev"){scrollLeft();}else{scrollRight();}          }        }      };      if(opt.autoPlay){        scrollType(opt.type);      }      //添加事件處理      box.find('#ulWrap').hover(function(){        clearInterval(timer);      },function(){        scrollType(opt.type);      });      //按鈕是否隱藏      if(!opt.btnHidden){        btnPrev.unbind('mouseover');        btnNext.unbind('mouseover');        btnPrev.mouseover(function(){          scrollType(opt.type,"prev");        });        btnNext.mouseover(function(){          scrollType(opt.type,"next");        });      }else{        btnPrev.hide();        btnNext.hide();      }    }  </script></body></html>

一些

主站蜘蛛池模板: 保康县| 呼玛县| 洞头县| 陇西县| 新营市| 澄迈县| 北碚区| 望都县| 定边县| 永宁县| 宜兰县| 晋中市| 镇宁| 天柱县| 德格县| 万源市| 黎川县| 容城县| 荣成市| 锡林浩特市| 盐城市| 大冶市| 门头沟区| 甘洛县| 称多县| 新民市| 株洲县| 曲靖市| 浪卡子县| 乌海市| 保德县| 磐石市| 开原市| 澳门| 博兴县| 晋城| 高台县| 海安县| 新密市| 舒城县| 团风县|