亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于jQuery和hwSlider實現內容左右滑動切換效果附源碼下載(一)

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

內容滑動切換應用非常廣,常見的有幻燈片焦點圖、畫廊切換等。隨著WEB前端技術的廣泛應用,內容滑動切換效果占據著web頁面重要地位,因此本站Helloweba特別給廣大前端愛好者安排了淺顯易懂的內容滑動切換效果的開發教程。

先給大家展示下效果圖,感覺還不錯請參數實現代碼,具體效果如下所示:

效果展示      源碼下載

本次教程分三個部分:

1、使用jQuery開發基本的內容滑動切換效果,

2、支持移動端觸控自適應的內容滑動切換效果,

3、封裝內容滑動切換效果jQuery插件。

本文講解第一部分,后面兩部分會在接下來的文章中陸續發布,敬請關注。

本文將結合實例實現內容滑動切換的基本效果,包括:

左右箭頭切換

無限無縫滾動

圓點按鈕切換

動畫效果

自動切換

HTML

首先準備HTML結構,整個滑動區域用#hwslider包裹,包括滑塊內容,滑塊使用ul li組織內容,滑塊內容可以是圖片、文字等任意HTML內容。#dots即圓點切換導航,由多個小圓點組成,對應滑塊數量,一般位于滑動區域的下方。.arr則是由兩個左右方向鍵組成。

<div id="hwslider"> <ul> <li class="active"><a href="#"><img src="images/s1.jpg" alt="1"></a></li> <li><a href="#"><img src="images/s2.jpg" alt="2"></a></li> <li>Helloweba</li> </ul> <div id="dots"> <span data-index="1" class="active"></span> <span data-index="2"></span> <span data-index="3"></span> </div> <a href="javascript:;" id="prev" class="arr"><</a> <a href="javascript:;" id="next" class="arr">></a> </div>

CSS

使用CSS完成滑動區域各組件的布局,注意其中#hwslider需要設置position: relative以及寬度和高度,那么滑塊#hwslider ul li設置position:absolute,默認只顯示.active的滑塊,超出尺寸部分將被隱藏。而圓點導航#dots和箭頭導航.arr都要設置position: absolute,箭頭導航默認不顯示,當鼠標滑向滑塊區域時才顯示。再一個要注意的是#dots和.arr的z-index設置成2,即都應該顯示在滑塊上面。您可以修改css樣式以滿足各種需求,請看以下代碼:

#hwslider{width: 600px;height: 320px;margin:40px auto; position: relative; overflow: hidden;} #hwslider ul{width: 600px; height: 320px; position: absolute; z-index: 1} #hwslider ul li{display:none;position:absolute; left:0; top:0; width: 600px;height: 320px; overflow: hidden;} #hwslider ul li.active{display: block;} #dots{position: absolute; bottom:20px; left:270px; width: 60px; height: 12px; z-index: 2;} #dots span{float: left; width:12px;height: 12px; border: 1px solid #fff; border-radius: 50%; background: #333; margin-right: 8px; cursor: pointer;} #dots span.active{background: orangered} .arr{display:none;position: absolute; top: 140px; z-index: 2;width: 40px; height: 40px; line-height: 38px; text-align: center;; font-size: 36px; background: rgba(0,0,0,.3); color: #fff; text-decoration: none} .arr:hover{background: rgba(0,0,0,.7); text-decoration: none;} #hwslider:hover .arr{display: block; text-decoration: none;color: #fff} #prev{left: 20px} #next{right: 20px}

jQuery

我們使用jQuery來實現滑動切換的各種效果,首先我們引入百度CDN提供的jQuery庫和hwslider.js。

<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script> <script src="js/hwslider.js"></script>

接著我們在hwslider.js中預先定義變量參數:

$(function(){ var slider = $("#hwslider"); var dots = $("#dots span"), prev = $("#prev"),next = $("#next"); var sliderInder = slider.children('ul') var hwsliderLi = sliderInder.children('li'); var hwsliderSize = hwsliderLi.length; //滑塊的總個數 var index = 1; //初始顯示第一個滑塊 var speed = 400; //滑動速度 var interval = 3000; //間隔時間 var autoPlay = false; //是否支持自動滑動 var clickable = true; //是否已經點擊了滑塊在做滑動動畫 });

以上定義了各種需要的變量,其中clickable用于限制點擊滑塊動畫,因為滑塊滑動過程需要時間完成,如果連續點擊箭頭的話,正常情況如果不限制點擊,則會在滑動動畫未完成的情況下又進行下一個滑動動畫,這樣可能會導致頁面卡住的情況。

接下來我們來寫移動動畫函數moveTo()。接受兩個參數,index即要滑動的目標滑塊,dir是滑動方向,有next和prev。我們實現滑動動畫的原理是,當前滑塊向左或向右移動的距離剛好是滑塊的寬度,我們把這個寬度看作可視區,滑動時,當前滑塊會向左或向右移出可視區,而緊接著下一個滑塊從左或從右側進入可視區。我們使用jQuery的animate()方法實現動畫效果,兩個滑塊的運動速度speed保持一致,就實現了無縫滾動的效果。另外當滑動完成時,及時變換圓點切換的樣式。

var moveTo = function(index,dir){ if(clickable){ clickable = false; //位移距離 var offset = slider.width(); if(dir == 'prev'){ offset = -1*offset; } //當前滑塊動畫 sliderInder.children('.active').stop().animate({ left: -offset}, speed, function() { $(this).removeClass('active'); }); //下一個滑塊動畫 hwsliderLi.eq(index-1).css('left', offset + 'px').addClass('active').stop().animate({ left: 0}, speed, function(){ clickable = true; }); dots.removeClass('active'); dots.eq(index-1).addClass('active'); }else{ return false; } }

綁定左右箭頭的點擊事件,當點擊箭頭時,判斷當前滑塊是否是第一個滑塊或最后一個滑塊,并重新定義index,從而實現無線滾動效果,然后分別調用moveTo()函數,實現滑動動畫效果。

next.on('click', function(event) { event.preventDefault(); if(clickable){ if(index >= hwsliderSize){ index = 1; }else{ index += 1; } moveTo(index,'next'); } }); prev.on('click', function(event) { event.preventDefault(); if(clickable){ if(index == 1){ index = hwsliderSize; }else{ index -= 1; } moveTo(index,'prev'); } });

接著,綁定圓點導航的點擊事件,當點擊小圓點時,獲取當前點擊的圓點序號,即點擊的是第幾個圓點,就對應的第幾個滑塊,然后調用moveTo()完成切換動畫。

dots.on('click', function(event) { event.preventDefault(); if(clickable){ var dotIndex = $(this).data('index'); if(dotIndex > index){ dir = 'next'; }else{ dir = 'prev'; } if(dotIndex != index){ index = dotIndex; moveTo(index, dir); } } });

自動切換,首先我們要定義一個定時器,每隔一定的時間setInterval執行play(),play()每執行一次就會變化index參數,調用moveTo實現切換效果。最后當鼠標滑上滑塊時清除定時器timer,鼠標移開滑塊時又重新啟動定時器自動切換。

if(autoPlay){ var timer; var play = function(){ index++; if(index > hwsliderSize){ index = 1; } moveTo(index, 'next'); } timer = setInterval(play, interval); //設置定時器 //鼠標滑上時暫停 slider.hover(function() { timer = clearInterval(timer); }, function() { timer = setInterval(play, interval); }); };

最后將代碼整理后,你將可以看到一個基本的滑動切換效果,你也可以下載源碼測試。

為了讓我們的滑動切換效果應用到移動端,我們在下一篇文章中會具體介紹移動端的自適應屏幕以及手勢滑動滑塊效果,敬請關注。

以上所述是小編給大家介紹的基于jQuery和hwSlider實現內容左右滑動切換效果附源碼下載(一)的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人亚洲成人| 热re91久久精品国99热蜜臀| 欧美亚洲一区在线| 热久久视久久精品18亚洲精品| 精品欧美aⅴ在线网站| 国产精品视频公开费视频| 97久久精品人搡人人玩| 亚洲第一精品福利| 精品女厕一区二区三区| 97免费中文视频在线观看| 亚洲国产精品女人久久久| 欧美在线视频一二三| 成人欧美在线观看| 91久久精品日日躁夜夜躁国产| 日韩欧美国产中文字幕| 久久韩剧网电视剧| 亚洲摸下面视频| 日韩欧美国产成人| xvideos亚洲| 欧美在线视频一区| 正在播放欧美一区| 精品国产欧美一区二区五十路| 色青青草原桃花久久综合| 国产精品爽黄69天堂a| 91精品久久久久| 91精品国产高清久久久久久| 日本精品性网站在线观看| 欧洲成人免费视频| 久久久久久久久电影| 国产亚洲成精品久久| 欧美激情视频一区| 国产精品网红直播| 亚洲日本aⅴ片在线观看香蕉| 最近更新的2019中文字幕| 久久99精品久久久久久噜噜| 精品亚洲一区二区三区| 欧美日韩在线免费| 97久久久久久| 91av中文字幕| 美女视频黄免费的亚洲男人天堂| 久久精品国产v日韩v亚洲| 日韩暖暖在线视频| 中文字幕精品在线| 成人国产亚洲精品a区天堂华泰| 羞羞色国产精品| 91精品久久久久久久久久久久久久| 一区二区三区回区在观看免费视频| 最新国产成人av网站网址麻豆| 91九色国产社区在线观看| 国自产精品手机在线观看视频| 日韩高清中文字幕| 欧美性猛交xxxx富婆弯腰| 亚洲最大的成人网| 亚洲欧美国产精品| 欧美裸身视频免费观看| 久久手机精品视频| 午夜精品久久久久久99热软件| 国产玖玖精品视频| 综合网中文字幕| 欧美日本高清一区| 精品夜色国产国偷在线| 欧洲s码亚洲m码精品一区| 亚洲欧洲中文天堂| 97精品国产97久久久久久春色| 日本精品中文字幕| 亚洲春色另类小说| 成人黄色午夜影院| 欧美性感美女h网站在线观看免费| 久久不射电影网| 日韩一区视频在线| 久久久久亚洲精品成人网小说| 亚洲精品97久久| 亚洲自拍高清视频网站| 欧美日韩亚洲精品一区二区三区| 国产精品久久久久999| 国产亚洲精品美女久久久久| 2019中文字幕免费视频| 性色av一区二区三区免费| 97视频在线播放| 91在线视频免费| 国产区精品在线观看| 成人深夜直播免费观看| 黑人巨大精品欧美一区免费视频| 欧美激情a∨在线视频播放| 亚洲男人天堂网| 久久久久女教师免费一区| 国产日韩在线免费| 性夜试看影院91社区| 欧美另类老女人| 2019中文字幕在线观看| 亚洲一区999| 日韩www在线| 国产一区二区三区网站| 日韩电影视频免费| 国产手机视频精品| 精品动漫一区二区| 精品亚洲一区二区三区| 国产主播精品在线| 日韩精品免费一线在线观看| 成人国产精品一区二区| 91久久久久久久一区二区| 91国偷自产一区二区三区的观看方式| 91亚洲精品视频| 88国产精品欧美一区二区三区| 国产福利精品av综合导导航| 亚洲tv在线观看| 亚洲视频在线观看免费| 国产福利精品av综合导导航| 成人日韩av在线| www.久久久久久.com| 欧美午夜精品伦理| 麻豆国产精品va在线观看不卡| 国产精品视频播放| 亚洲精品电影在线| 国产一区二区丝袜| 亚洲电影免费观看| 欧美国产日韩一区二区三区| 欧美亚洲成人精品| 国产精品免费在线免费| 91久久久久久国产精品| 深夜福利91大全| 欧美激情亚洲综合一区| 性欧美亚洲xxxx乳在线观看| 午夜精品一区二区三区在线视频| 中文字幕国产精品| 91久久精品国产91久久| 2024亚洲男人天堂| 久久国产精品久久国产精品| 日韩视频免费大全中文字幕| 精品爽片免费看久久| 在线看日韩欧美| 欧美人与性动交| 欧美一级在线亚洲天堂| 国产精品欧美激情在线播放| 国产精品直播网红| 国产精品高精视频免费| 国产一区二区丝袜| 色狠狠久久aa北条麻妃| 97成人在线视频| 国产成人激情视频| 欧美一级淫片播放口| 欧美精品一本久久男人的天堂| 91精品国产乱码久久久久久久久| 欧美孕妇与黑人孕交| 国产日韩欧美综合| 国产精品久久久久福利| 亚洲男人天堂久| 午夜欧美不卡精品aaaaa| 在线观看亚洲视频| 自拍偷拍亚洲区| 亚洲精品大尺度| 91在线国产电影| 久久91精品国产91久久久| 日韩三级影视基地| 欧美猛交ⅹxxx乱大交视频| 亚洲成色777777女色窝| 久久99亚洲热视| 精品国产户外野外| 欧美电影院免费观看| 欧美日韩午夜视频在线观看| 国产精品视频一区二区高潮| 亚洲图片在区色| 日韩av电影手机在线| 午夜精品视频在线|