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

首頁 > 編程 > JavaScript > 正文

jQuery實現(xiàn)模擬marquee標簽效果

2019-11-20 12:03:33
字體:
供稿:網(wǎng)友

Marquee

      模仿IE下面的marquee效果,鼠標移上去暫停。形成環(huán)的主要原理在于每張圖片一旦判斷出了外面的顯示窗口就添加到尾部,用append和prepend模擬數(shù)組的push()和shift()。

      代碼如下:

HTML

<!doctype html><html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta content="" name="keywords" /><meta content="" name="description" /><meta name="author" content="codetker" /><head><title>模擬marquee標簽效果的簡單實現(xiàn)</title><link href="style/reset.css" rel="stylesheet" type="text/css"><link href="style/style.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="js/jquery-1.9.1.min.js"></script><script type="text/javascript" src="js/jquery.codetker.marquee.js"></script></head><body>  <div class="wrap">    <div class="marquee">      <ul>        <li>          <a href="" title="">1            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">2            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">3            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">4            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">5            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">6            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">7            <img src="images/test.jpg" alt="">          </a>        </li>        <li>          <a href="" title="">8            <img src="images/test.jpg" alt="">          </a>        </li>      </ul>    </div>  </div><script type="text/javascript">  $(document).ready(function(){    $(".marquee").marquee();  });</script></body></html>

CSS

@charset "utf-8";/* CSS Document */body{  margin:0 0;  padding:0 0;  height:100%;  width:100%;}.wrap{  font-family:"微軟雅黑","宋體", Times, "Times New Roman", serif;  font-size:14px;  margin:0 0;  padding:0 0;  height:100%;  width:100%;  overflow:hidden;}.marquee{  margin: 0 auto;  width: 960px;  height: 300px;  overflow: hidden;}.marquee ul{  width: 10000px;}.marquee ul li{  float: left;  width: 500px;  text-align: center;}.marquee ul li a{}.marquee ul li a:hover{  color: red;}

JavaScript

/* * boxScroll 0.1 * 兼容IE8,FF,Chrome等常見瀏覽器 */ ;(function($,window,document,undefined){   //定義構(gòu)造函數(shù)   var BoxObj=function(ele,opt){     this.$element=ele; //最外層對象     this.defaults={       'style': 0 ,//滾動樣式選擇,默認為普通效果       'speed': 1 ,//默認為1s       'direction': 'left'//默認為向左邊滾動     },        this.options=$.extend({},this.defaults,opt );     //這里可以添加一些通用方法     }   //給構(gòu)造函數(shù)添加方法   BoxObj.prototype={     commonScroll:function(){       //接收對象屬性       var obj=this.$element;       var boxWindow=$(this.$element).children('ul');       var speed=this.defaults.speed;       var style=this.defaults.style;       var direction=(this.defaults.direction=='left')? 1 : -1;       var lists=$(boxWindow).children('li');       var len=$(lists).length;       var boxWidth=$(lists[0]).width();       var timer;       var step=(this.defaults.direction=='left')? 0 : boxWidth;       function move(style,speed,direction){         if (style==0) {           if (direction==1) {             step+=1;             if(step>boxWidth){               step-=boxWidth;               $(boxWindow).append($(boxWindow).children().eq(0));//將第一項放在最后,相當(dāng)于push(0),shift()             }else{               $(obj).scrollLeft(step);             }           }else if (direction== -1) {             step-=1;             if(step<0){               step+=boxWidth;               $(boxWindow).prepend($(boxWindow).children().eq(len-1));//將最后一項放在最前,相當(dāng)于pop(last),unshift()             }else{               $(obj).scrollLeft(step);             }           }else{//不執(zhí)行之外的數(shù)值           }         }else{//留待擴展,多了改switch         }       }       timer=setInterval(function(){         move(style,speed,direction);       },10*speed); //由于時間取得小,肉眼就看不出來      $(lists).each(function() {//鼠標移上暫停        $(this).hover(function() {          clearInterval(timer);        }, function() {          clearInterval(timer);          timer=setInterval(function(){             move(style,speed,direction);           },10*speed);        });      });     }          }   $.fn.marquee=function(options){     //創(chuàng)建實體     var boxObj=new BoxObj(this,options);     //用尾調(diào)的形式調(diào)用對象方法     return boxObj.commonScroll();   } })(jQuery,window,document);

      詳細下載見https://github.com/codetker/myMarquee

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南充市| 鲁山县| 福安市| 弥勒县| 石屏县| 鹿邑县| 江山市| 宁国市| 闵行区| 南召县| 油尖旺区| 临漳县| 辰溪县| 秦安县| 福海县| 龙胜| 海安县| 拉萨市| 临江市| 南漳县| 静安区| 普格县| 伊春市| 迁安市| 崇州市| 漾濞| 屏南县| 定陶县| 米泉市| 虎林市| 滦南县| 萨嘎县| 台东县| 象山县| 和田县| 京山县| 金川县| 福海县| 台北县| 同仁县| 同仁县|