基本上我有一个780像素长的图像,我有一个窗口,你一次只能看到390像素。有左右箭头,因此您可以单向滚动,然后滚动另一个。我希望一旦你到达0px或-780px的图像末尾就会禁用箭头。我尝试了下面的代码只是为了看看我是否朝着正确的方向前进,但仅与“>”一起使用签署,我需要它与“==”:
$(function() {
$(".big-fwd img").click(function() {
var offset = $(".wrap-nga").offset();
$(".wrap-nga").animate({
left: "-=390px"
})
if (offset > "-780px") {
alert("hello");
}
});
第二个问题是,当我编写代码时,我真的想要而不是警报,一切都没有发生:
$(function() {
$(".big-fwd img").click(function() {
var offset = $(".wrap-nga").offset();
$(".wrap-nga").animate({
left: "-=390px"
})
if (offset > "-780px") {
$(".big-fwd img").removeAttr();
}
});
我真的很茫然。我试过“位置”而不是“偏移”,但这不是问题。 任何帮助都会很棒。您还可以通过转到http://www.lieslswogger.com并点击图库中的某个图片,更好地了解我要做的事情。谢谢!!
答案 0 :(得分:2)
我认为你的比较问题是因为$ .offset()的结果是一个对象,而不是一个值。
来自http://api.jquery.com/offset/
.offset()返回一个包含top和left属性的对象。
你可能想要使用offset.left。
希望有所帮助!
答案 1 :(得分:1)
在制作动画之前进行偏移检查。在这种情况下,您还需要比较不等式的数值。
$(".big-fwd img").click(function(){
var offset = $(".wrap-nga").offset();
if(offset.left < 780)
$(".wrap-nga").animate({ left: "-=390px" })
});
同样背面.big-back img
:
if(offset.left > 0) // proceed with animation
答案 2 :(得分:0)
确保关闭功能。它应该是:
$(function() {
$(".big-fwd img").click(function() {
var offset = $(".wrap-nga").offset();
$(".wrap-nga").animate({
left: "-=390px"
}) if (offset > "-780px") {
$(".big-fwd img").removeAttr();
}
});
});