本文实例讲述了使用jQueryMobile实现滑动翻页效果的方法。分享给大家供大家参考。具体分析如下:
滑动手势在移动设备是很流行的,在移动设备中滑动翻页中很常见
虽然这个功能可以在jQueryMobile中实现,但是个人与之前一篇【jQuery手机浏览器中拖拽动作的艰难性分析】中的观点一致,由于这是在手机浏览器中浏览,而不是安卓的一个独立APP,所以不要经常除点击以外的移动设备手势,以免跟手机浏览器与手机系统本身的手势发生冲突。
那么,使用jQueryMobile实现滑动翻页的效果到底怎么做呢?
一、基本目标
在手机浏览器中的jQueryMobile框架页中现实滑动手势翻页的功能,如下图:
并且记录当前页的页数,随用户滑动而自动增加与减少。
二、制作过程
关于JqueryMobile的界面怎么布置,不再细说,详情请翻阅之前一篇【jQueryMobile之Helloworld与页面切换的方法】
如下的代码注释,主要是叙述如何通过对JqueryMobile封装好的滑动手势jQuery Mobile Swipeleft与jQuery Mobile Swiperight处理,来实现上面的页面,W3C《jQuery Mobile Touch 事件》一文中对此的叙述是有问题的,实验代码与给出的代码并不一致:
<script> <br />
/* jquery部分,先定义一个记录翻到多少页的变量 */ <br />
var divnum=1; <br />
/* 相当于.innerhtml=""; jquery设置一个节点的值是需要这样设定的 */ <br />
$("#divnumber").text(divnum) <br />
/* 在#mypage页面开启触控 */ <br />
$(document).on("pageinit","#mypage",function(){ <br />
/* 如果对div1的非空白部分向左滑,那么div1就隐藏,div2就显示,同时页面计数器+1,并更新divnumber这个行内文本 */ <br />
$("#div1").on("swipeleft",function(){ <br />
$("#div1").hide("fast"); <br />
$("#div2").show("fast"); <br />
divnum=divnum+1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
/* 如果对div2的非空白部分向右滑,那么div1就显示,div2就隐藏,同时页面计数器-1,并更新divnumber这个行内文本 */ <br />
$("#div2").on("swiperight",function(){ <br />
$("#div1").show("fast"); <br />
$("#div2").hide("fast"); <br />
divnum=divnum-1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
/* 如果对div2的非空白部分向左滑,那么div2就隐藏,div3就显示,同时页面计数器+1,并更新divnumber这个行内文本,下面如此类推 */ <br />
$("#div2").on("swipeleft",function(){ <br />
$("#div2").hide("fast"); <br />
$("#div3").show("fast"); <br />
divnum=divnum+1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
$("#div3").on("swiperight",function(){ <br />
$("#div2").show("fast"); <br />
$("#div3").hide("fast"); <br />
divnum=divnum-1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
$("#div3").on("swipeleft",function(){ <br />
$("#div3").hide("fast"); <br />
$("#div4").show("fast"); <br />
divnum=divnum+1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
$("#div4").on("swiperight",function(){ <br />
$("#div3").show("fast"); <br />
$("#div4").hide("fast"); <br />
divnum=divnum-1; <br />
$("#divnumber").text(divnum) <br />
}); <br />
}); <br />
</script>
请注意,div1没有向右滑的手势,因为这是第一页,div4没有向左滑的手势,因为这是最后一页。
希望本文所述对大家的jQueryMobile程序设计有所帮助。