jquery實(shí)現(xiàn)移動(dòng)端按鈕組左右滑動(dòng)
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)移動(dòng)端按鈕組左右滑動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
學(xué)習(xí)移動(dòng)端觸摸相關(guān)功能時(shí)寫(xiě)了一個(gè)例子,共享一下,其中最不好理解的是screen、page、client相對(duì)坐標(biāo)的問(wèn)題,我畫(huà)了一個(gè)簡(jiǎn)圖幫助記憶:
jquery插件源碼:
//按鈕滑動(dòng)插件 ? ? +(function ($, w, d, undefined) { ? ? ? ? ? jQuery.fn.slideLeftRight = function () { ? ? ? ? ? ? var start = null;//每一次觸屏的開(kāi)始位置 ? ? ? ? ? ? var current = 0;//滑動(dòng)過(guò)程中的位置 ? ? ? ? ? ? var end = 0;//滑動(dòng)結(jié)束時(shí)的觸屏位置 ? ? ? ? ? ? var _this = null;//對(duì)象代理 ? ? ? ? ? ? $(this).css({ "white-space": "nowrap", "position": "absolute", "left": 0, "overflow": "hidden" }) ? ? ? ? ? ? ? ? ?.parent().css({ "position": "relative", "overflow": "hidden" }); ? ? ? ? ? ? _this = this; ? ? ? ? ? ? var ?wwidth=$(window).width();//瀏覽器的寬度 ? ? ? ? ? ? //對(duì)象left位置 ? ? ? ? ? ? var _obj_left = $(this).css("left") == "auto" ? 0 : parseInt($(this).css("left")); ? ? ? ? ? ? var objWidth = $(_this).width(); ? ? ? ? ? ? $(_this).on({ ? ? ? ? ? ? ? ? touchstart: function () { ? ? ? ? ? ? ? ? ? ? var target = event.changedTouches[0]; ? ? ? ? ? ? ? ? ? ? start = target.pageX; ? ? ? ? ? ? ? ? ? ? current = target.pageX; ? ? ? ? ? ? ? ? }, ? ? ? ? ? ? ? ? touchmove: function () { ? ? ? ? ? ? ? ? ? ? var target = event.changedTouches[0]; ? ? ? ? ? ? ? ? ? ? $(_this).css("left", _obj_left + (target.pageX - start)); ? ? ? ? ? ? ? ? ? ? current = target.pageX ? ? ? ? ? ? ? ? }, touchend: function () { ? ? ? ? ? ? ? ? ? ? var target = event.changedTouches[0]; ? ? ? ? ? ? ? ? ? ? end = target.pageX; ? ? ? ? ? ? ? ? ? ? _obj_left = _obj_left + (target.pageX - start); ? ? ? ? ? ? ? ? ? ? ? if (start > end ) { ? ? ? ? ? ? ? ? ? ? ? ? //左 ? ? ? ? ? ? ? ? ? ? ? ? ? //瀏覽器的寬度 小于對(duì)象的寬度 ? ? ? ? ? ? ? ? ? ? ? ? if (objWidth > wwidth) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? //對(duì)象的寬度 - ?對(duì)象left < 瀏覽器的寬度 ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (objWidth - ?Math.abs( _obj_left) ?< wwidth) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? var objLeft = objWidth - wwidth; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $(_this).animate({ "left": -objLeft }); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? _obj_left = -objLeft; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } else { ? ? ? ? ? ? ? ? ? ? ? ? ? ? //瀏覽器的寬度 >= ?對(duì)象的寬度 ? ? ? ? ? ? ? ? ? ? ? ? ? ? $(_this).animate({ "left": "0"}); ? ? ? ? ? ? ? ? ? ? ? ? ? ? _obj_left = 0; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? } else if (start <= end) { ? ? ? ? ? ? ? ? ? ? ? ? //右 ? ? ? ? ? ? ? ? ? ? ? ? if (_obj_left > 0) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? $(_this).animate({"left":"0"}); ? ? ? ? ? ? ? ? ? ? ? ? ? ? _obj_left = 0; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? }); ? ? ? ? }; })(jQuery, window, document);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue實(shí)現(xiàn)移動(dòng)端左右滑動(dòng)效果的方法
- vue移動(dòng)端實(shí)現(xiàn)手機(jī)左右滑動(dòng)入場(chǎng)動(dòng)畫(huà)
- Swiper.js實(shí)現(xiàn)移動(dòng)端元素左右滑動(dòng)
- 移動(dòng)端手指操控左右滑動(dòng)的菜單
- vue移動(dòng)端的左右滑動(dòng)事件詳解
- vue中transition動(dòng)畫(huà)使用(移動(dòng)端頁(yè)面切換左右滑動(dòng)效果)
- 移動(dòng)端左右滑動(dòng)切換頁(yè)面效果完整代碼(純JavaScript)
相關(guān)文章
jQuery實(shí)現(xiàn)鼠標(biāo)劃過(guò)修改樣式的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)劃過(guò)修改樣式的方法,涉及jQuery針對(duì)鼠標(biāo)事件及樣式操作的技巧,是jQuery鼠標(biāo)事件的典型應(yīng)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04JQuery中關(guān)于jquery.js與jquery.min.js的比較探討
jquery-1.4.2.min.js是優(yōu)化的,而query-1.4.2.js是易于開(kāi)發(fā)著閱讀的,具體詳解祥看本文,希望對(duì)你有所幫助2013-05-05基于Jquery的簡(jiǎn)單&簡(jiǎn)陋Tabs插件代碼
一個(gè)基于Jquery的簡(jiǎn)單&簡(jiǎn)陋Tabs插件,學(xué)習(xí)的朋友可以參考下。2010-02-02JQuery模板插件 jquery.tmpl 動(dòng)態(tài)ajax擴(kuò)展
在上一篇JQuery模板插件-jquery.tmpl中介紹了這款插件。有時(shí)我們需要去動(dòng)態(tài)的ajax去加載模板,或者數(shù)據(jù),根據(jù)url參數(shù)或者其他信息加載不同的模板,數(shù)據(jù)2011-11-11Jquery選擇器中使用變量實(shí)現(xiàn)動(dòng)態(tài)選擇例子
這篇文章主要介紹了Jquery選擇器中使用變量實(shí)現(xiàn)動(dòng)態(tài)選擇例子,這樣做的好處我們可以動(dòng)態(tài)選擇一些元素,核心思想其實(shí)就是用字符串組合,需要的朋友可以參考下2014-07-07jQuery實(shí)現(xiàn)花式輪播之圣誕節(jié)禮物傳送效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)花式輪播之圣誕節(jié)禮物傳送效果,需要的朋友可以參考下2016-12-12jQuery Mobile框架中的表單組件基礎(chǔ)使用教程
jQuery Mobile框架主要針對(duì)移動(dòng)端的Web UI設(shè)計(jì),其中豐富的表單組件調(diào)用起來(lái)也是相當(dāng)方便,接下來(lái)就為大家整理了一份jQuery Mobile框架中的表單組件基礎(chǔ)使用教程,需要的朋友可以參考下2016-05-05