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

首頁 > 編程 > JavaScript > 正文

jQuery和hwSlider實現內容響應式可觸控滑動切換效果附源碼下載(二)

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

今天我們繼續內容滑動切換效果的第二部分講解。如今我們的web開發都要適應移動設備,就是說我們的web頁面要在移動設備如手機端也能正常訪問,所以我將第一部分的基本切換效果做了加強,增加了響應式和觸控滑動效果。


效果展示     源碼下載

本文是hwSlider-內容滑動切換效果的第二部分,演示DEMO都是基于第一部分內容的基礎上的,所以,如果您還沒閱讀過第一部分的話,請先移步參閱:基于jQuery和hwSlider實現內容左右滑動切換效果附源碼下載(一)

響應式

什么是響應式設計,這里我就不描述了。在hwSlider中,我們通過CSS來設置滑塊的寬度和高度,設置了百分比的寬度。

#hwslider{width: 100%;height:auto;min-height: 120px;margin:40px auto; position: relative; overflow: hidden;} #hwslider ul{width: 100%; height:100%; position: absolute; z-index: 1} #hwslider ul li{display:none;position:absolute; left:0; top:0; width: 100%;height:100%; overflow: hidden;} #hwslider ul li.active{display: block;} #hwslider ul li img{max-width: 100%} #dots{position: absolute; bottom:20px; left:200px; min-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} 

接下來,我們在js部分開始部分定義變量,在初始化resize()函數中,我們計算并定位導航圓點和導航箭頭的位置,并且在瀏覽器窗口大小調整的時候也調用resize()。

$(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 sliderWidth = 600; //滑塊初始寬度 var sliderHeight = 320; //滑塊初始高度 var index = 1; //初始顯示第一個滑塊 var speed = 400; //滑動速度 var interval = 3000; //間隔時間 var dotShow = true; //是否顯示可切換的導航圓點 var autoPlay = false; //是否支持自動滑動 var clickable = true; //是否已經點擊了滑塊在做滑動動畫 //初始化組件 var resize = function(){ var sWidth = slider.width(); var dotWidth = hwsliderSize*20; var dotOffset = (sWidth-dotWidth)/2; var sHeight = sliderHeight/sliderWidth*sWidth; slider.css('height',sHeight); $("#dots").css('left',dotOffset+'px'); //導航圓點位置 var arrOffset = (sHeight-40)/2; $(".arr").css('top',arrOffset+'px'); //導航箭頭位置 } resize(); $(window).resize(function(){ resize(); }); }); 

移動端觸屏滑動

在移動設備上,我們可以輕觸屏幕,并使用手勢滑動來切換滑塊。要實現這種效果,需要用到核心的touch事件。處理touch事件能跟蹤到屏幕滑動的每根手指。

以下是四種touch事件:

touchstart: 手指放到屏幕上時觸發
touchmove: 手指在屏幕上滑動式觸發
touchend: 手指離開屏幕時觸發
touchcancel: 系統取消touch事件的時候觸發,這個好像比較少用

好,現在我們需要在滑塊上綁定偵聽touch觸控事件,在touchstart和touchend時分別獲取手指在屏幕滑塊上的位置,然后根據位移判斷是左滑還是右滑,然后調用moveTo()實現滑動切換。

var mouseX = 0, touchStartY = 0, touchStartX = 0; hwsliderLi.on({ //觸控開始 'touchstart': function(e) { touchStartY = e.originalEvent.touches[0].clientY; touchStartX = e.originalEvent.touches[0].clientX; }, //觸控結束 'touchend': function(e) { var touchEndY = e.originalEvent.changedTouches[0].clientY, touchEndX = e.originalEvent.changedTouches[0].clientX, yDiff = touchStartY - touchEndY, xDiff = touchStartX - touchEndX; if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) { if ( xDiff > 5 ) { if(index >= hwsliderSize){ index = 1; }else{ index += 1; } moveTo(index,'next'); } else { if(index == 1){ index = hwsliderSize; }else{ index -= 1; } moveTo(index,'prev'); } } touchStartY = null; touchStartX = null; }, //觸控移動 'touchmove': function(e) { if(e.preventDefault) { e.preventDefault(); } } }); 

再加上上一篇文章中的基本滑塊js代碼就能實現一個響應式的可觸控滑動的內容滑動效果。

如果要在PC上實現拖動滑動的話,需要綁定滑塊的onmousedown,onmousemove以及onmouseup事件,實現鼠標按住拖動滑塊實現滑動切換,主要代碼這里就不貼出來了,大家可以下載源代碼中查看。

接下來的第三部分,我將給大家講解如何將現有的hwSlider代碼封裝成一個jQuery滑動插件成品,敬請關注。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人在线视频播放| 国产一区红桃视频| 国产成人亚洲综合91| 久久久久久国产精品三级玉女聊斋| 中文字幕久久精品| 亚洲视频专区在线| 日韩国产欧美精品一区二区三区| 欧美日韩一区二区免费在线观看| 最近中文字幕mv在线一区二区三区四区| 一区二区三区无码高清视频| 日韩一区二区久久久| 91精品视频播放| 久久99精品视频一区97| 欧美中文字幕在线播放| 欧美日本啪啪无遮挡网站| 国产伦精品免费视频| 色噜噜国产精品视频一区二区| 精品视频在线导航| 亚洲男人av在线| 91精品久久久久久久| 日本19禁啪啪免费观看www| 欧美成人中文字幕| 欧美疯狂性受xxxxx另类| 精品久久久久久久久久久久| 日本高清不卡在线| 欧美极品少妇xxxxⅹ喷水| 欧美成aaa人片在线观看蜜臀| 精品久久久久久中文字幕| 国产高清视频一区三区| 在线色欧美三级视频| 日韩在线激情视频| 国内精品一区二区三区四区| 国产成人免费91av在线| 91久久精品视频| 少妇久久久久久| 亚洲精品美女在线| 亚洲第一中文字幕| 最近的2019中文字幕免费一页| 亚洲成人中文字幕| 久久久av免费| 久久精品成人欧美大片古装| 欧美第一黄网免费网站| 久久人人爽亚洲精品天堂| 国产主播喷水一区二区| 国产成人福利视频| 久久影院资源站| 最好看的2019的中文字幕视频| 91午夜在线播放| 亚洲香蕉av在线一区二区三区| 色综合伊人色综合网站| 激情成人中文字幕| 精品国产成人在线| 欧美色道久久88综合亚洲精品| 日韩av中文字幕在线播放| 久久国产天堂福利天堂| 97香蕉久久超级碰碰高清版| 国产在线98福利播放视频| 亚洲尤物视频网| 91精品国产91久久久久福利| 亚洲成av人片在线观看香蕉| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品久久久久久久久久ntr影视| 亚洲一区二区免费在线| 91香蕉国产在线观看| 亚洲一区二区精品| 国产日韩欧美夫妻视频在线观看| 亚洲欧洲在线播放| 亚洲电影免费观看高清完整版在线| 国产精品欧美在线| 91午夜理伦私人影院| 久久中文字幕一区| 欧美大片va欧美在线播放| 日韩中文字幕在线视频播放| 国产精品91视频| 精品欧美国产一区二区三区| 91老司机在线| 国产精品久久色| 久久久久久久久久久免费| 亚洲v日韩v综合v精品v| 精品国产乱码久久久久久天美| 亚洲视频视频在线| 国产精品美女久久| 久久精品小视频| 日韩欧美在线视频| 久久久久久久av| 欧美日韩成人网| 欧美另类69精品久久久久9999| 国产精品露脸av在线| 97在线看免费观看视频在线观看| 国产精品羞羞答答| 国产自摸综合网| 久久久97精品| 国产精品自产拍在线观| 78m国产成人精品视频| 欧美日韩国产精品| 亚洲国产第一页| 国产在线精品成人一区二区三区| 91a在线视频| 国产一区私人高清影院| 高跟丝袜一区二区三区| 一区二区三区回区在观看免费视频| 亚洲欧洲在线播放| 国产欧美精品xxxx另类| 亚洲第一精品夜夜躁人人爽| 日韩免费观看av| 国产精欧美一区二区三区| 国产精品久久久久久中文字| 精品视频久久久久久久| 精品免费在线视频| 日韩欧美亚洲成人| 久久久国产成人精品| 91最新国产视频| 欧美在线视频免费播放| 精品亚洲永久免费精品| 久久国产精品首页| 中文字幕少妇一区二区三区| 中文字幕精品在线| 欧美猛交ⅹxxx乱大交视频| 欧美日韩在线免费| 欧美一区二区三区免费视| 国产精品成人aaaaa网站| 久久精品中文字幕免费mv| 国产日韩在线观看av| 日韩在线视频导航| 成人午夜小视频| 韩国精品久久久999| 亚洲香蕉成人av网站在线观看| 欧美国产一区二区三区| 亚洲欧美成人一区二区在线电影| 亚洲欧洲激情在线| 在线视频亚洲欧美| 国产精品永久免费视频| 欧美日韩亚洲91| 精品magnet| 国产综合久久久久久| 亚洲欧洲成视频免费观看| 欧美成人性色生活仑片| 久久久国产精彩视频美女艺术照福利| 色综合男人天堂| 国产精品色婷婷视频| 国产精品视频免费在线观看| 久久露脸国产精品| 国产亚洲成精品久久| 97国产一区二区精品久久呦| 亚洲欧美国产一本综合首页| 国产精品第一第二| 国产精品久久久久久久久久东京| 亚洲石原莉奈一区二区在线观看| 欧美夜福利tv在线| 国产精品一区二区电影| 日韩成人av网址| 91精品久久久久久久久久久| 在线视频欧美日韩| 日本成人在线视频网址| 欧美成年人视频网站欧美| 久久久成人精品视频| 久久五月天色综合| 日本免费一区二区三区视频观看| 久久久久久亚洲| 日韩免费在线观看视频| 国产91在线播放精品91| 91亚洲精品在线观看| 日韩高清电影免费观看完整| 日韩av电影免费观看高清|