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

首頁 > 編程 > JavaScript > 正文

jQuery滾動新聞實現代碼

2019-11-20 09:36:05
字體:
來源:轉載
供稿:網友

     網上下載了一個Jquery新聞滾動Demo,效果不錯。我根據自己情況,做了些調整。
    下載后,除了Html及Jquery.js,還有三個文件,分別是Css,主Js和一個定位Js(jquery.dimensions.js),Css文件完全可以通過動態賦值實現,省的在Css文件中添加了,況且可以重定義,應該效果更好。
    定位Js只用到一個方法,我把它整合到之中了,少加載一個是一個么。
    原Demo是一行顯示的滾動效果,有一個Bug,即不等的多行顯示時會跑錯,已修復。
    原Demo有一個mouseover屬性,我一般不用(效果不好,看一下實現方法也有漏洞,在多行時效果更差),刪除了。

    借鑒別人的思路與代碼,不敢獨享。

刪除的部分:

   $('> ul', this)    .bind('mouseover', function(e) {     if ($(e.target).is('li')) {      $(e.target).addClass('hover');     }    })    .bind('mouseout', function(e) {     if ($(e.target).is('li')) {      $(e.target).removeClass('hover');     }    });

調整后代碼:

html部分:

<div id="tbNews"><ul> <li>1、滾動新聞,滾動新聞,滾動新聞,滾動新聞,滾動新聞</li> <li>2、滾動新聞,滾動新聞</li> <li>3、滾動新聞,滾動新聞,滾動新聞,滾動新聞</li> <li>4、滾動新聞,滾動新聞,滾動新聞,滾動新聞,滾動新聞</li> <li>5、滾動新聞</li></ul></div><script language="JavaScript" src="jdNewsScroll.js" type="text/javascript"></script><script defer="defer" language="JavaScript" type="text/javascript">$(function() { $('#tbNews').jdNewsScroll({divWidth:130,divHeight:50,fontSize:'10.5pt'});});</script>

Js代碼:

(function($){  var ELMS = [];  $.fn.jdNewsScroll = function(settings) {  settings = $.extend({}, arguments.callee.defaults, settings); $(this).css({"position":"relative","overflow":"hidden","width":settings.divWidth,"height":settings.divHeight}); $(this).find("ul").css({"position":"relative","list-style-type":"none","font-size":settings.fontSize,"margin":"0px"}); $(this).find("li").css({"line-height":"130%","margin":"0px","padding":"2px 10px 1px 10px"});  $(this).each(function(){   this.$settings = settings;   this.$pause = false;   this.$counter = settings.beginTime;   $(this).hover(function(){ $(this).jdNewsScrollPause(true) }, function(){ $(this).jdNewsScrollPause(false) });   ELMS.push(this);  });  return this; }; $.fn.jdNewsScroll.defaults = {  beginTime: 10,  fontSize: '9pt',  divWidth: '100%',  divHeight: '200px',  lineHeight: '130%',  delay:  20,  step: 2 }; $.fn.jdNewsScrollPause = function(pause) {  return this.each(function() {   this.$pause = pause;  }); } function outerHeight(options) {  if (!this[0]) 0;  options = $.extend({ margin: false }, options || {});  return this[0] == window || this[0] == document ?   this.height() : this.is(':visible') ?    this[0].offsetHeight + (options.margin ? (num(this, 'marginTop') + num(this, 'marginBottom')) : 0) :    this.height()      + num(this,'borderTopWidth') + num(this, 'borderBottomWidth')      + num(this, 'paddingTop') + num(this, 'paddingBottom')     + (options.margin ? (num(this, 'marginTop') + num(this, 'marginBottom')) : 0); } setInterval(scroll, 80); function scroll() {  for (var i = 0; i < ELMS.length; i++) {   var elm = ELMS[i];   if (elm && !elm.$pause) {    if (elm.$counter == 0) {     var ul  = $('> ul', elm)[0];     if (!elm.$steps) {      elm.$steps = $('> li:first-child', ul).outerHeight();      elm.$step = 0;     }     if ((elm.$steps + elm.$step) <= 0) {      elm.$counter  = elm.$settings.delay;      elm.$steps   = false;      $(ul).css('top', '0').find('> li:last-child').after($('> li:first-child', ul));      $('> *', ul).not('li').remove();     } else {      elm.$step -= elm.$settings.step;      if (-elm.$step > elm.$steps) {       elm.$step = -elm.$steps;      }      ul.style.top = elm.$step + 'px';     }    } else {     elm.$counter--;    }   }  } };})(jQuery);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雷州市| 玉龙| 铜川市| 张家口市| 丰顺县| 奉新县| 南陵县| 广昌县| 大足县| 清苑县| 康保县| 清水河县| 霍邱县| 营山县| 北宁市| 天祝| 景泰县| 茂名市| 商洛市| 丰原市| 老河口市| 武夷山市| 罗田县| 龙州县| 略阳县| 周至县| 小金县| 淮北市| 安达市| 泸水县| 锦屏县| 轮台县| 留坝县| 博爱县| 临江市| 红河县| 名山县| 永善县| 治县。| 辽源市| 嘉善县|