我有一个支持滑动手势的图库。通过向左/向右滑动,用户可以浏览图库。我需要限制滑动div的位置,以便它不会偏离轨道,即一旦你到达页面,显然所有的图像都在右边,所以我不希望用户向左滑动(到空白区域)
我试图使用“大于”,但它不起作用。
var theWidth = $(window).width();
function processingRoutine() {
var swipedElement = document.getElementById(triggerElementID);
if ( swipeDirection == 'left' ) {
$(".frame").animate({marginLeft: '-='+theWidth});
} else if ( swipeDirection == 'right' ) {
$(".frame").animate({marginLeft: '+='+theWidth});
if ( parseInt($(".frame").css("margin-left")) > 1 ) {
$(".frame").animate({marginLeft: "0px"});
}
}
}
您可以在此处查看整个来源:http://joinersart.co.uk/mtest
答案 0 :(得分:1)
更改:
$(".frame").animate({margin-left: "0px"});
要:
$(".frame").animate({marginLeft: "0px"});
答案 1 :(得分:0)
我犯了一个简单的错误:
我很担心margin-left应该注册“no go”区域。我最初认为如果剩余边距超过1px就足够了。事实上,它实际上需要减去我正在移动的数量。
所以而不是:
if ( parseInt($(".frame").css("margin-left")) > 1 ){...
应该是:
if ( parseInt($(".frame").css("margin-left")) > -theWidth ){...