jquery實現滑動門效果詳解
本章節將詳細分解一段程式碼例項,它利用jquery實現了簡單的滑動門效果。
當然程式碼比較簡單,實際應用的時候還需要再進行完善,不過掌握原來才是最重要的。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin:0; padding:0; font-size:12px; } dl { margin:10px auto; width:500px; line-height:24px; border-left:1px solid #dcdcdc; } dt.active { border-bottom:1px solid #fff; position:relative; } dt { padding:0 10px; float:left; border:1px solid #dcdcdc; border-left:0; cursor:pointer; margin-bottom:-1px; } dd { clear:both; width:100%; border-left:0; border:1px solid #dcdcdc; border-left:0; display:none; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('dt:first').addClass('active'); $('dd:first').css('display','block'); autoroll(); hookThumb(); }); var i=-1; //第i+1個tab開始 var offset = 2500; //輪換時間 var timer = null; function autoroll(){ n = $('dt').length-1; i++; if(i > n){ i = 0; } slide(i); timer = window.setTimeout(autoroll, offset); } function slide(i){ $('dt').eq(i).addClass('active').siblings().removeClass('active'); $('dd').eq(i).css('display','block').siblings('dd').css('display','none'); } function hookThumb(){ $('dt').hover(function () { if (timer) { clearTimeout(timer); i = $(this).prevAll().length; slide(i); } },function () { timer = window.setTimeout(autoroll, offset); this.blur(); return false; }); } </script> </head> <body> <dl> <dt>div教程</dt> <dt>css教程</dt> <dt>json教程</dt> <dd>螞蟻部落歡迎您</dd> <dd>softwhy.com</dd> <dd>只有努力奮鬥才會有美好明天</dd> </dl> </body> </html>
上面的程式碼實現了我們的要求,下面就詳細介紹一下它的實現過程。
一.程式碼註釋:
(1).$(document).ready(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。
(2).$('dt:first').addClass('active'),為第一個dt元素新增名為active的樣式類。
(3).$('dd:first').css('display','block'),顯示第一個dd元素,和上面的語句結合起來就是預設第一個滑動門選中效果。
(4)autoroll(),此函式可以實現自動播放滑動門效果。
(5).hookThumb(),實現滑鼠懸浮滑動門切換效果。
(6).var i=-1,第i+1個tab開始。
(7).var offset = 2500,規定滑動門自動切換時間。
(8).var timer = null,作為定時器函式的標誌。
(9).function autoroll(){},此函式實現了滑動門自動切換效果。
(10).n = $('dt').length-1,獲取的是最大索引值。
(11).i++,索引值加1.
(12).if(i > n){
i = 0;
},如果超出最大索引,那麼就歸零。
(13).slide(i),此函式可以實現滑動門切換效果,i引數是索引值。
(14).$('dt').eq(i).addClass('active').siblings().removeClass('active'),為當前指定索引選項卡新增active樣式類,其他的消除。
(15).$('dd').eq(i).css('display','block').siblings('dd').css('display','none'),將指定索引元素顯示,其他的兄弟元素隱藏。
(16).function hookThumb(){},此函式能夠實現滑鼠懸浮切換效果。
(17).$('dt').hover(function () {
if (timer) {
clearTimeout(timer);
i = $(this).prevAll().length;
slide(i);
}
},function () {
timer = window.setTimeout(autoroll, offset);
this.blur();
return false;
}),當滑鼠懸浮能夠切換到相應的選項卡,並停止自動滑動門效果。
二.相關閱讀:
(1).addClass()方法可以參閱jQuery addClass()一章節。
(2).$('dt:first')可以參閱jQuery :first一章節。
(3).setTimeout()方法可以參閱setTimeout()一章節。
(4).eq()方法可以參閱jQuery eq()一章節。
(5).siblings()方法可以參閱siblings()一章節。
(6).removeClass()方法可以參閱jQuery removeClass()一章節。
(7).prevAll()方法可以參閱jQuery prevAll()一章節。
相關文章
- jQuery 效果 – 滑動jQuery
- jQuery實進度條效果詳解jQuery
- JavaScript滑動門特效詳解JavaScript特效
- jQuery滑動方式上下左右滾動效果jQuery
- jQuery彈幕效果詳解jQuery
- jQuery 放大鏡效果詳解jQuery
- (十)如果實現滑動展示選單效果
- 實現抖音 “影片無限滑動“效果
- jquery 實現滑動條的簡單驗證jQuery
- 前端基礎入門五(掌握jQuery的常用api,實現動態效果)前端jQueryAPI
- 微信小程式實現卡片左右滑動效果微信小程式
- jQuery實現輪播效果jQuery
- jQuery表單驗證效果詳解jQuery
- jQuery滑鼠懸浮翻牌效果詳解jQuery
- jQuery滑鼠懸浮聚焦效果詳解jQuery
- jQuery星級評分效果詳解jQuery
- jQuery表格隔行變色效果詳解jQuery
- jQuery 倒數計時效果詳解jQuery
- 記錄---實現抖音 “影片無限滑動“效果
- 使用ViewPager和TabLayout來實現滑動切換效果ViewpagerTabLayout
- CSS實現頁面切換時的滑動效果CSS
- jQuery 實現淡入淡出效果jQuery
- jQuery 圖片垂直切換效果詳解jQuery
- 短視訊平臺搭建,實現banner自動滑動展示效果
- 基於jquery實現穿梭框效果jQuery
- js、jQuery實現文字上下無縫輪播、滾動效果JSjQuery
- jQuery 效果 – 動畫jQuery動畫
- 手機直播原始碼,實現圖片瀑布流式滑動效果原始碼
- 直播app開發,實現輪播圖上下自動滑動展示效果APP
- Jquery實現的高亮效果程式碼分享jQuery
- jQuery 實現顯示與隱藏效果jQuery
- 小程式 — 實現左滑刪除效果(列表)③
- Vue|NuxtJs仿探探介面|vue實現Tinder卡片疊加滑動效果VueUXJS
- jQuery入門(六)jQuery實現瀑布分頁jQuery
- jQuery 效果 – 停止動畫jQuery動畫
- Android 設定TextView滑動滾動條和滑動效果AndroidTextView
- jQuery實現3D圖片輪播詳解jQuery3D
- 滑動視窗濾波器原理分析及詳細程式碼講解實現
- jQuery滑鼠滑過表格標題切換表格內容詳解jQuery