我一直在寻找文档,似乎无法找到一种在jQuery mobile中制作可滚动水平导航栏的方法有没有人完成这个呢?
看到我想要一些像valums.com/files/2009/menu/final.htm这样的东西,但仅用于导航,这样你可以向左或向右滑动以获得更多菜单项
猜猜这就是你想要的。HTML
<div class="categories">
<ul>
<li><span><a href="">ABC</a></span></li>
<li><span><a href="">DEF</a></span></li>
<li><span><a href="">GHI</a></span></li>
<li><span><a href="">JKL</a></span></li>
</ul>
</div>
JQuery的
$(function(){
var step = 1;
var current = 0;
var maximum = $(".categories ul li").size();
var visible = 2;
var speed = 500;
var liSize = 120;
var height = 60;
var ulSize = liSize * maximum;
var divSize = liSize * visible;
$('.categories').css("width", "auto").css("height", height+"px").css("visibility", "visible").css("overflow", "hidden").css("position", "relative");
$(".categories ul li").css("list-style","none").css("display","inline");
$(".categories ul").css("width", ulSize+"px").css("left", -(current * liSize)).css("position", "absolute").css("white-space","nowrap").css("margin","0px").css("padding","5px");
$(".categories").swipeleft(function(event){
if(current + step < 0 || current + step > maximum - visible) {return; }
else {
current = current + step;
$('.categories ul').animate({left: -(liSize * current)}, speed, null);
}
return false;
});
$(".categories").swiperight(function(){
if(current - step < 0 || current - step > maximum - visible) {return; }
else {
current = current - step;
$('.categories ul').animate({left: -(liSize * current)}, speed, null);
}
return false;
});
});
但是无法得到它可以有人帮助我...谢谢
答案 0 :(得分:0)
您正在寻找的是旋转木马。我在jquery mobile中找不到任何官方支持。 Sencha touch确实有一个实现。
如果你看http://forum.jquery.com/topic/jquery-mobile-carousel-sencha-style,有人试图建立一个库来复制它。在这里查看他们的演示http://jsfiddle.net/blackdynamo/yxhzU/
或者你可以尝试使用现有的jquery / javascript轮播并让它在jquery mobile上运行。我知道sequence.js(http://www.sequencejs.com/themes/modern-slide-in/)支持触摸事件,并且非常适合您想要的任何内容,无论您想要什么样的转换。所以这可能是一个很好的尝试。
编辑:
我用Google搜索了一下,发现:http://tympanus.net/Development/Elastislide/index2.html似乎与你链接的那个类似,但是这个支持触摸事件