JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動(dòng)輪播示例
本文實(shí)例講述了JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動(dòng)輪播。分享給大家供大家參考,具體如下:
無縫輪播 面向?qū)ο?/p>
一、HTML及CSS部分同前文《原生JavaScript實(shí)現(xiàn)的無縫滾動(dòng)功能》。
JavaScript面向?qū)ο蟛糠秩缦拢?/p>
function Seamless(obj) { this.obj = document.getElementById(obj); this.oXSlide = GLOBAL.Dom.getElementsByClassName('J_XSlide', this.obj)[0]; this.li = this.oXSlide.getElementsByTagName('li'); this.liTabs = GLOBAL.Dom.getElementsByClassName('tabs', this.obj)[0].getElementsByTagName('li'); this.iNow = 0; this.timer = null; this.playTime = 2000; this.init(); } Seamless.prototype = { // 初始化 init: function() { var _this = this; this.timer = setInterval(function(){ _this.autoPlay(); }, this.playTime); this.overOut(); this.tab(); }, tab: function() { var _this = this; var btn = GLOBAL.Dom.getElementsByClassName('btn', this.obj); this.oXSlide.style.width = this.li.length * this.li[0].offsetWidth + 'px'; for(var i = 0, len = this.liTabs.length; i < len; i++) { this.liTabs[i].index = i; GLOBAL.Event.addHandler(this.liTabs[i], 'mouseover', function() { _this.showItem(this.index); }); } GLOBAL.Event.addHandler(btn[0], 'click', function() { _this.moveLeft(); }); GLOBAL.Event.addHandler(btn[1], 'click', function() { _this.moveRight(); }); }, // 移入移出時(shí),輪播暫停與開始 overOut: function() { var _this = this; GLOBAL.Event.addHandler(this.obj, 'mouseover', function() { clearInterval(_this.timer); }); GLOBAL.Event.addHandler(this.obj, 'mouseout', function() { _this.timer = setInterval(function() { _this.autoPlay(); }, _this.playTime); }); }, autoPlay: function() { this.moveRight(); }, // 選項(xiàng)卡 showItem:function (n) { for(var i = 0, len = this.liTabs.length; i < len; i++) { this.liTabs[i].className = 'tab'; } if(n == this.liTabs.length) { this.liTabs[0].className = 'tab cur'; } else { this.liTabs[n].className = 'tab cur'; } startMove(this.oXSlide, {'left': -n * this.li[0].offsetWidth}); }, moveLeft:function () { this.iNow--; if(this.iNow == -1) { this.oXSlide.style.left = -this.liTabs.length * this.li[0].offsetWidth + 'px'; this.iNow = this.liTabs.length - 1; } this.showItem(this.iNow); }, moveRight:function () { this.iNow++; if(this.iNow == this.li.length) { this.oXSlide.style.left = 0; this.iNow = 1; } this.showItem(this.iNow); } }; new Seamless('box');
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 原生Js 實(shí)現(xiàn)的簡(jiǎn)單無縫滾動(dòng)輪播圖的示例代碼
- 如何使用JavaScript實(shí)現(xiàn)無縫滾動(dòng)自動(dòng)播放輪播圖效果
- javascript實(shí)現(xiàn)異形滾動(dòng)輪播
- JS實(shí)現(xiàn)排行榜文字向上滾動(dòng)輪播效果
- js輪播圖無縫滾動(dòng)效果
- 完美實(shí)現(xiàn)js焦點(diǎn)輪播效果(二)(圖片可滾動(dòng))
- JavaScript 輪播圖和自定義滾動(dòng)條配合鼠標(biāo)滾輪分享代碼貼
- JS簡(jiǎn)單的輪播的圖片滾動(dòng)實(shí)例
- 原生js實(shí)現(xiàn)輪播圖的示例代碼
- JavaScript滾動(dòng)輪播圖制作原理詳解
相關(guān)文章
關(guān)于javascript中dataset的問題小結(jié)
本文給大家介紹javascript中dataset的問題詳解,包括dataset的基礎(chǔ)用法,使用dataset的作用以及dataset的基礎(chǔ)操作等相關(guān)問題,對(duì)javascript dataset問題感興趣的朋友一起學(xué)習(xí)吧2015-11-11顏色選擇器 Color Picker,IE,Firefox,Opera,Safar
顏色選擇器 Color Picker,需要的朋友可以參考下。2010-11-11ES6 新增的創(chuàng)建數(shù)組的方法(小結(jié))
這篇文章主要介紹了ES6 新增的創(chuàng)建數(shù)組的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08JavaScript彈簧振子超簡(jiǎn)潔版 完全符合能量守恒,胡克定理
完全符合能量守恒,胡克定理的JavaScript彈簧振子(超簡(jiǎn)潔版,超越第一版!)2009-10-10javascript的parseFloat()方法精度問題探討
javascript中的parseFloat()方法,大家應(yīng)該不陌生吧,下面為大家介紹下其精度問題,感興趣的朋友不要錯(cuò)過2013-11-11JavaScript null和undefined區(qū)別分析
在JavaScript開發(fā)中,被人問到:null與undefined到底有啥區(qū)別?2009-10-10JavaScript 代碼分割的實(shí)現(xiàn)步驟
JavaScript代碼分割是一種優(yōu)化策略,通過將代碼拆分成較小的塊,只在需要時(shí)加載,可以降低初始加載時(shí)間,減小頁面體積,本文主要介紹了JavaScript代碼分割的實(shí)現(xiàn)步驟,感興趣的可以了解一下2024-01-01vue3 uniapp微信登錄功能實(shí)現(xiàn)
根據(jù)最新的微信小程序官方的規(guī)定,uniapp中的uni.getUserInfo方法不再返回用戶頭像和昵稱、以及手機(jī)號(hào),這篇文章主要介紹了vue3 uniapp微信登錄功能實(shí)現(xiàn),需要的朋友可以參考下2024-04-04