jQuery具有暫停功效果新聞列表向上滾動
新聞列表向上滾動效果在實際網站建設中非常的常用,一般用以對新聞的展示。
下面就簡單介紹一下如何實現此效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <head> <title>新聞列表向上滾動程式碼例項-螞蟻部落</title> <style type="text/css"> ui,li { list-style:none; font-size:12px; } #news{ height:57px; overflow:hidden; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ var $this=$("#news"); var scrollTimer; $this.hover(function(){ clearInterval(scrollTimer); },function(){ scrollTimer = setInterval(function() { scrollNews($this); }, 2000); }).trigger("mouseleave"); function scrollNews(obj) { var $self=obj.find("ul"); var lineHeight=$self.find("li:first").height(); $self.animate({ "marginTop":-lineHeight+ "px" }, 600, function(){ $self.css({ marginTop:0 }).find("li:first").appendTo($self); }) } }) </script> <body> <div id="news"> <ul> <li><a href="#">螞蟻部落歡迎您</a></li> <li><a href="#">只有努力奮鬥才會有美好的未來</a></li> <li><a href="#">沒有人一開始就是高手</a></li> <li><a href="#">每一天的太陽都是新的,好好珍惜眼前的一切</a></li> <li><a href="#">明天是不存在的,所以把握好今天</a></li> <li><a href="#">分享的精神和互助的胸懷是人進步的原動力</a></li> <li><a href="#">樂觀的心態是最重要的</a></li> </ul> </div> </body> </html>
新聞列表可以不斷的向上滾動,並且具有暫停效果,這有助於瀏覽器看清新聞,比較人性化,下面就介紹一下此特效的實現過程。
一.實現原理:
hover事件實際上是由mouseleave事件和mouseout事件組合而成的。在程式碼中為#news元素註冊hover事件處理函式,當文件結構載入完成之後,就會通過trigger()函式觸發mouseleave事件,那麼就會執行hover()第二個引數函式,此函式可以通過定時器函式setInterval()每隔兩秒就會執行一次scrollNews()函式,scrollNews()函式每執行一次都會首先將ul的margin-top屬性值減少lineHeight,lineHeight值恰好是一個li元素的高度,這樣就實現了新聞列表每一次滾動的幅度都是一條新聞,然後再將ul的margin-top屬性值設定為0,與此同時將原有的第一條新聞放到新聞列表的後部。這樣就是先了帶有暫停功能的無間斷滾動效果。
二.程式碼註釋:
(1).$(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。
(2).var $this=$("#news"),獲取id屬性值為news的物件並將引用賦值給變數$this。
(3).var scrollTimer,宣告一個變數用以存放定時器函式setInterval()的返回值。
(4). $this.hover(),為$this引用物件註冊hover事件處理函式。
(5).clearInterval(scrollTimer),停止定時器函式的執行,也就是當滑鼠放在div上的時候會停止滾動效果。
(6). scrollTimer=setInterval(function(){scrollNews($this); },2000),當滑鼠厲害div的時候就會執行hover的第二個函式,也就會執行這段程式碼,通過定時器函式每隔兩秒執行一次scrollNews()函式。
(7).trigger("mouseleave"),hover事件其實是由mouseleave事件和mouseout事件組合而成的,這裡使用trigger觸發mouseleave事件。
(8).function scrollNews(obj){},此函式是實現滾動的核心。
(9).var $self=obj.find("ul"),獲取div下的ul物件。
(10).var lineHeight=$self.find("li:first").height(),獲取第一個li元素的高度。
(11).$self.animate(),以動畫方式設定ul的margin-top屬性值。
(12)."marginTop":-lineHeight+"px",將margin-top屬性值設定為負的li元素高度,也就是向上移動一個li高度的尺寸。
(13).$self.css({ marginTop:0 }),將ul元素的margin-top屬性值設定為0。
(14).find("li:first").appendTo($self),將現在的第一個li元素移動到ul的結尾。
三.相關閱讀:
(1).hover事件參閱jQuery hover事件一章節。
(2).clearInterval()參閱clearInterval()方法一章節。
(3).setInterval()參閱setInterval()一章節。
(4).trigger()參閱jQuery trigger()方法一章節。
(5).find()參閱jQuery find()方法一章節。
(6).height()參閱jQuery height()方法一章節。
(7).animate()參閱jQuery animate()方法一章節。
(8).appendTo()參閱jQuery appendTo()方法一章節。
相關文章
- 具有間歇效果的新聞列表垂直滾動程式碼
- jQuery新聞列表垂直滾動詳解jQuery
- jQuery單行新聞標題向上滾動詳解jQuery
- jQuery實現的但行文字具有時間間隔向上滾動效果jQuery
- 微信小程式之文字向上滾動效果微信小程式
- jQuery列表上下垂直滾動效果程式碼例項jQuery
- 新聞公告具有時間間隔垂直滾動程式碼
- 文字向上滾動
- 新聞單條無縫間歇向上滾動(第一次分享)
- Flutter 新聞詳情頁二——WebView和列表豎直滾動FlutterWebView
- css實現新聞公告上下翻滾效果CSS
- jQuery圖片無縫滾動效果jQuery
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- jQuery滑動方式上下左右滾動效果jQuery
- JavaScript 垂直新聞公告無縫滾動JavaScript
- jQuery 圖片列表垂直間歇無縫滾動jQuery
- 移動新聞網站,掌上移動新聞,移動新聞客戶端,jQuery Mobile移動新聞網站,移動新聞網站demo,新聞閱讀器開發網站客戶端jQuery
- 向上無縫滾動--原理及思想
- 不斷向上滾動的公告欄
- 使用jQuery播放/暫停 HTML5視訊jQueryHTML
- jQuery實現的新聞列表上下移動調整順序程式碼例項jQuery
- JavaScript垂直新聞公告無縫滾動詳解JavaScript
- jquery 感應滑鼠移動的文字3d滾動效果jQuery3D
- 單行新聞公告間歇垂直無縫滾動
- ios自定義類似網易新聞的滾動條iOS
- 隱藏滾動條保留滾動效果
- js、jQuery實現文字上下無縫輪播、滾動效果JSjQuery
- Nodejs爬取新聞列表NodeJS
- Bootstrap列表新增滾動條boot
- css去掉新聞列表最後一個新聞的下劃線CSS
- jQuery實現的具有淡出效果的元素刪除jQuery
- windows 如何暫停更新Windows
- js獲取頁面向上或者向左滾動的尺寸JS
- jQuery 效果 – 滑動jQuery
- 20 個用於處理頁面滾動效果的 jQuery 外掛jQuery
- 按鈕滾動條效果
- Android特效開發(仿zaker用手向上推動的效果(推動門效果))Android特效
- flutter實現B站播放器暫停時的header效果Flutter播放器Header