最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)無縫循環(huán)marquee滾動效果

 更新時間:2017年05月22日 09:08:30   作者:rosyouth  
這篇文章主要為大家詳細介紹了JS實現(xiàn)無縫循環(huán)marquee滾動效果,兼容IE, FireFox, Chrome,具有一定的參考價值,感興趣的小伙伴們可以參考一下

無縫循環(huán)marquee滾動JS代碼實現(xiàn),兼容IE, FireFox, Chrome,供大家參考,具體內(nèi)容如下

首先是CSS和HTML如下:

  #marquee_zxd {
    border: 1px solid red;
    white-space: nowrap;
    overflow: hidden;
    width: 500px;
    padding-top: 5px;

  }

  #marquee_zxd img {
    height: 100px;
  }

<!-- 橫向一定要是span -->
    <div id="marquee_zxd"><span>
      <!-- 內(nèi)嵌一個div很重要,里面的元素必須是一個整體的移動。另外橫移時,必須是行級元素只占自己的空間。 -->
      <div id="marquee_inner" style="position:relative; display: inline-block;">
      <img src="img/duck.png"/>
      <img src="img/donkey.png"/>
      <img src="img/eggbird.png"/>
      <img src="img/elephant.png"/>
      <img src="img/butterfly.png"/>
    </div>
    </span></div>

<script type="text/javascript" src="${cpath}/js/marquee_zxd.js"></script>

下面是JS實現(xiàn)marquee_zxd.js:

/**除了Chrome以外的瀏覽器可以通過scrollLeft屬性控制滾動*/
function scrolleft(obj){
  var $obj = $(obj); 
  //到右邊頂端后不會再變
  //var temp = obj.scrollLeft;
  //obj.scrollLeft++;
  var temp = $obj.scrollLeft();
  //console.log(temp);
  $obj.scrollLeft(temp+1);
  //當滾動條到達右邊頂端時;或本身長度不夠不好滾動(漫出才好滾)
  //if(obj.scrollLeft == temp){
  if($obj.scrollLeft() == temp){
    obj.innerHTML += obj.innerHTML;
    console.log('copy');
  }
  //當滾動條滾動了初始內(nèi)容的寬度時,滾動條回到最左端,模擬循環(huán)
  //if (obj.scrollLeft >= obj.firstChild.offsetWidth)
  //  obj.scrollLeft = 0;
  if ($obj.scrollLeft() >= obj.firstChild.offsetWidth)
    $obj.scrollLeft(0);
}

/**除了Chrome以外的瀏覽器可以通過scrolleft()滾動*/
function initMarquee(){
  var aaa = document.getElementById('marquee_zxd');
  var MyMar = setInterval(function(){
    scrolleft(aaa);
  }, 20);

  //鼠標移上時清除定時器達到滾動停止的目的
  aaa.onmouseover=function() {clearInterval(MyMar);};
  //鼠標移開時重設(shè)定時器
  aaa.onmouseout=function() {MyMar = setInterval(function(){
    scrolleft(aaa);
  }, 20);};
}  


/**Chrome定時器循環(huán)函數(shù),通過relative布局的left屬性控制滾動*/
function scrolleftChrome($marquee_inner, inner_width){
  var width = parseInt(inner_width);
  var leftPx = $marquee_inner.css("left");
  //兼容IE
  if(leftPx == 'auto')
    leftPx = 0;
  //位置左移
  var left = parseInt(leftPx);    
  left = left - 1;
  //到頂歸位
  if(left <= -width)
    left = 0;
  $marquee_inner.css("left", left);
  //console.log(width + ", " + left);
}

/**Chrome瀏覽器可以通過scrolleftChrome滾動*/
function initMarqueeChrome() {
  //局部變量不污染全局變量空間
  var $marquee_inner = $('#marquee_inner');
  //原內(nèi)容大小
  var inner_width = $marquee_inner.css('width');
  //復(fù)制一份原內(nèi)容
  var innerHtml = $marquee_inner.html();
  $marquee_inner.html(innerHtml + innerHtml);

  console.log(inner_width);
  //參數(shù)采用字符串形式的缺陷:參數(shù)不能被周期性改變,參數(shù)必須是全局變量
  //var MyMar = setInterval("scrolleftChrome($marquee_inner, inner_width)", 5000);
  var MyMar = setInterval(function(){
    //參數(shù)不污染全局變量空間
    scrolleftChrome($marquee_inner, inner_width);
  }, 50);

  var marquee_zxd = document.getElementById('marquee_zxd');
  //鼠標移上時清除定時器達到滾動停止的目的
  marquee_zxd.onmouseover=function() {clearInterval(MyMar);};
  //鼠標移開時重設(shè)定時器
  marquee_zxd.onmouseout=function() {
    //參數(shù)采用字符串形式的缺陷:參數(shù)不能被周期性改變,參數(shù)必須是全局變量
    //MyMar = setInterval("scrolleftChrome($marquee_inner, inner_width)", 50);
    MyMar = setInterval(function(){
      //參數(shù)不污染全局變量空間
      scrolleftChrome($marquee_inner, inner_width);
    }, 50);
  };
}

$(function(){
  var ua = window.navigator.userAgent; 
  var isIE = window.ActiveXObject != undefined && ua.indexOf("MSIE") != -1; 
  var isFirefox = ua.indexOf("Firefox") != -1; 
  var isChrome = ua.indexOf("Chrome") && window.chrome; 

  if(isChrome){
    initMarqueeChrome();
    console.log("isChrome: initMarqueeChrome");
  }else{
    initMarquee();
    console.log("isChrome: initMarquee");
  }
});

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用JS hash制作單頁Web應(yīng)用的方法詳解

    利用JS hash制作單頁Web應(yīng)用的方法詳解

    這篇文章主要給大家介紹了關(guān)于如何利用JS hash制作單頁Web應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • setTimeout的延時為0時多個瀏覽器的區(qū)別

    setTimeout的延時為0時多個瀏覽器的區(qū)別

    一直比較迷惑:js的setTimeout到底會在什么時候執(zhí)行,如果執(zhí)行了,和主執(zhí)行腳本到底差多長時間
    2012-05-05
  • JS實現(xiàn)簡單拖拽效果

    JS實現(xiàn)簡單拖拽效果

    這篇文章主要為大家詳細介紹了JS實現(xiàn)拖拽效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript如何實現(xiàn)元素全排列實例代碼

    JavaScript如何實現(xiàn)元素全排列實例代碼

    這篇文章主要給大家介紹了關(guān)于JavaScript如何實現(xiàn)元素全排列的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 小程序?qū)崿F(xiàn)密碼輸入框

    小程序?qū)崿F(xiàn)密碼輸入框

    這篇文章主要為大家詳細介紹了小程序?qū)崿F(xiàn)密碼輸入框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • javascript 精確獲取樣式屬性(下)

    javascript 精確獲取樣式屬性(下)

    繼續(xù)上一部分,我們要看一下顏色?;鸷孟癫还苋叨欢紩D(zhuǎn)變?yōu)閞gb格式,不過我們通常比較習慣的是hex格式。這就用到以下兩函數(shù)。
    2010-01-01
  • javascript之函數(shù)進階詳解

    javascript之函數(shù)進階詳解

    這篇文章主要為大家介紹了javascript函數(shù)進階,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2021-12-12
  • JavaScript-html標題滾動效果的簡單實現(xiàn)

    JavaScript-html標題滾動效果的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狫avaScript-html標題滾動效果的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 動態(tài)加載、移除js/css文件的示例代碼

    動態(tài)加載、移除js/css文件的示例代碼

    本文簡單介紹動態(tài)加載、移除、替換js/css文件的示例代碼,代碼簡單易懂,非常不錯,具有參考借鑒加載,需要的朋友參考下吧
    2018-03-03
  • JavaScript 事件入門知識

    JavaScript 事件入門知識

    這篇文章主要介紹了JavaScript 事件入門知識,需要的朋友可以參考下
    2015-04-04

最新評論

吉木乃县| 鹿邑县| 黑水县| 澳门| 福鼎市| 崇信县| 乌拉特后旗| 监利县| 达州市| 五家渠市| 邯郸市| 马关县| 西华县| 广丰县| 靖宇县| 盘锦市| 六盘水市| 庄浪县| 长乐市| 平罗县| 治多县| 洛阳市| 建宁县| 芒康县| 龙岩市| 碌曲县| 仁寿县| 隆尧县| 宜章县| 金门县| 措勤县| 文水县| 苍梧县| 靖江市| 潼南县| 佛学| 洛阳市| 镇坪县| 顺义区| 霞浦县| 扶绥县|