jquery插件實(shí)現(xiàn)無(wú)縫輪播
無(wú)縫輪播是一個(gè)很常見(jiàn)的效果,理解邏輯之后就很簡(jiǎn)單了。
效果如下
代碼部分
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>做無(wú)縫輪播</title> <script src="js/jquery-3.4.1.min.js"></script> <style> * { margin: 0; padding: 0; user-select: none; } #div { border: 1px solid lightgray; width: 600px; height: 300px; margin: 20px; overflow: hidden; } .item { border: 1px solid lightgray; width: 96%; height: 50px; margin: 10px auto; } </style> </head> <body> <div id="div"> <div class="rollbox"></div> </div> </body> </html> <script> $(document).ready(function() { for (var i = 0; i < 7; i++) { var $item = $("<div class='item'>" + i+ "</div>"); $item.appendTo($("#div .rollbox")); } }) //輪播動(dòng)作 $(function() { $("#div").roll(1); }) $.prototype.roll = function(span) { span = span == undefined ? 20 : span; //滾動(dòng)速率 var $that = $(this).find('.rollbox'); var index = 0; var t = setInterval(function() { $that.css('margin-top', index + 'px'); index--; check(); }, span) // $that.mouseenter(function() { clearInterval(t); }) $that.mouseleave(function() { t = setInterval(function() { $that.css('margin-top', index + 'px'); index--; check(); }, span) }) function check(){ var first = $that.children().first(); var top = parseInt(first.css('margin-top').replace('px','')); var bottom = parseInt(first.css('margin-bottom').replace('px','')); var height =first.height(); bw = parseInt(first.css('border-width').replace('px','')); var temp = index+top+height+bottom; if(temp==top-2*bw){ var last = $that.children().last(); last.after(first); $that.css('margin-top','0px'); index=0; } } } </script>
思路解釋
- 一開(kāi)始我是打算直接在元素上面進(jìn)行動(dòng)畫效果的,不過(guò)中間彎彎繞繞還是有點(diǎn)煩,所以直接給一個(gè)輔助容器,包住所有子元素,我們讓這個(gè)輔助容器上下運(yùn)動(dòng)就行
- 就是你緩慢移動(dòng)輔助容器往上的時(shí)候,就已經(jīng)有滾動(dòng)效果了,然后我們判斷最上面的那個(gè)容器是否已經(jīng)完全隱去,然后再把輔助容器復(fù)位,把最上面額元素放到最下面就行了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 12款經(jīng)典的白富美型—jquery圖片輪播插件—前端開(kāi)發(fā)必備
- 原生js和jquery實(shí)現(xiàn)圖片輪播特效
- Jquery代碼實(shí)現(xiàn)圖片輪播效果(一)
- jQuery圖片輪播的具體實(shí)現(xiàn)
- 基于JQuery的實(shí)現(xiàn)圖片輪播效果(焦點(diǎn)圖)
- jquery實(shí)現(xiàn)定時(shí)自動(dòng)輪播特效
- 原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果
- jquery 實(shí)現(xiàn)輪播圖詳解及實(shí)例代碼
- 利用jquery寫的左右輪播圖特效
- jquery實(shí)現(xiàn)左右無(wú)縫輪播圖
相關(guān)文章
jquery $.trim()去除字符串空格的實(shí)現(xiàn)方法【附圖例】
下面小編就為大家?guī)?lái)一篇jquery $.trim()去除字符串空格的實(shí)現(xiàn)方法【附圖例】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-03-03快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突
這篇文章主要介紹了快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突問(wèn)題,感興趣的小伙伴們可以參考一下2016-04-04jQuery簡(jiǎn)單實(shí)現(xiàn)日歷的方法
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)日歷的方法,涉及jQuery操作日期的相關(guān)技巧,比較簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05jQuery實(shí)現(xiàn)表格的增、刪、改操作示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)表格的增、刪、改操作,涉及基于jQuery的事件響應(yīng)及頁(yè)面元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01jquery 簡(jiǎn)單的進(jìn)度條實(shí)現(xiàn)代碼
jquery其實(shí)是有個(gè)進(jìn)度條插件的,叫做jqueryprogressbar.js,可是想練習(xí)一下,就沒(méi)有用,自己寫了點(diǎn)代碼。這個(gè)代碼其實(shí)是參考別人的,因?yàn)樽约旱腏S基礎(chǔ)不是很好。2010-03-03jqGrid翻頁(yè)時(shí)數(shù)據(jù)選中丟失問(wèn)題的解決辦法
我在項(xiàng)目中使用jqGrid時(shí),采用異步加載服務(wù)器數(shù)據(jù),例如點(diǎn)擊翻頁(yè)、搜索時(shí)都重新加載數(shù)據(jù)。這篇文章主要介紹了jqGrid翻頁(yè)時(shí)數(shù)據(jù)選中丟失問(wèn)題,需要的朋友可以參考下2017-02-02jQuery如何使用自動(dòng)觸發(fā)事件trigger
這篇文章主要介紹了jQuery如何使用自動(dòng)觸發(fā)事件trigger,需要的朋友可以參考下2015-11-11