Hammer.js是一个开源的,轻量级的javascript库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件。
Hammer是一个轻量级的JavaScript库,它可以在不依赖任何其他东西的情况下识别触摸和鼠标事件。
因为项目需要研究了一下该插件,写了一个简单的页面切换的demo。第一次发博客,有点那啥哈。。。哈哈哈,不多说,上代码。
先到GitHub上下载hammer.js 导入相应的JS文件
导入对应的js文件。注:hammer是基于jQuery的,必须引入jQuery / zepto
<script src="jquery.min.js"></script>
<script src="hammer.js"></script>
html文件结构如下
<div id="container">
<div class="page pageNone"><a href="hammerTestPage2.html">111</a></div>
<div class="page pageNone">222</div>
<div class="page pageNone">333</div>
<div class="page pageNone">444</div>
<footer>
<a class="tabbarItem tabbarOn">page1</a>
<a class="tabbarItem">page2</a>
<a class="tabbarItem">page3</a>
<a class="tabbarItem">page4</a>
</footer>
</div>
css文件
.pagePlay{
display: block;
}
.pageNone{
display: none;
}
.tabbarOn{
color: #cc99cc;
}
#container,.page{
position: absolute;
top:0;
left: 0;
width: 100%;
height:100%;
overflow: hidden;
}
footer{
position: fixed;
bottom: 0;
}
footer a{
display: inline-block;
line-height: 3.6667rem;
}
JS 文件
function setSlide(elmId){
//页面滑动切换
var container = document.getElementById(elmId);
var mc = new Hammer.Manager(container);
var swipe = new Hammer.Swipe();
mc.add(swipe);
mc.on('swipeleft',function(e){
if(slideCount == 4){
return;
}
slideCount++;
swipeTo("left");
});
mc.on('swiperight',function(e){
if(slideCount == 1){
//find the last page
window.history.back(-1);
return;
}
slideCount--;
swipeTo("right");
});
}
function swipeTo(slideType){
var pageNum = "page"+slideCount;
var page = $('.'+pageNum);
page.addClass("pagePlay").removeClass("pageNone")
.siblings(".pagePlay").addClass("pageNone").removeClass("pagePlay");
$(".tabbarItem").eq(slideCount-1).addClass('tabbarOn').siblings(".tabbarOn").removeClass("tabbarOn");
}
到此一个简单的滑动切换页面就出来了,初次写,大牛勿喷啊!!!嘻嘻。。。
更多推荐
使用hammer.js实现移动端webAPP手势滑动切换页面
发布评论