当该div的样式“左”达到“ 0”或“ 0px”时,如何防止div进一步向左滚动?现在,我正在使用动画自定义效果向左和向右滚动div以显示隐藏的溢出,但是当div在样式上达到“ 0”或“ 0px”时:向左,我希望防止用户向左滚动到那里没有内容,只有空白。我目前有以下代码似乎无法按照我想要的方式工作:
$(document).ready(function(){
if ($("#ajax-matched-results").css('left') == '0' || '0px') {
$("#scrollLeft-results").click(function() {
$(".matched-results-items").animate({"left": "0px"}, "slow");
});
$("#scrollRight-results").click(function() {
$(".matched-results-items").animate({"left": "-=547px"}, "slow");
});
} else {
$("#scrollLeft-results").click(function() {
$(".matched-results-items").animate({"left": "+=547px"}, "slow");
});
$("#scrollRight-results").click(function() {
$(".matched-results-items").animate({"left": "-=547px"}, "slow");
});
}
});
谢谢你的帮助!
最佳答案
首先,if语句不应该位于click事件中吗?我完全看不到或者最多不会执行一次。
同样,您的第一个if语句将始终为true。你想要的是
if ($("#ajax-matched-results").css('left') == '0' || $("#ajax-matched-results").css('left') == '0px')
另外,我也不是100%肯定“-= 547px”可以像预期的那样工作。您是否要在每次单击时将其增加该值,还是要将它们设置为该值?我假设您想每次增加它。
这或多或少是您应该拥有的:
$(function(){
// this actually eliminates the need for the above if statement
// assuming you only have one thing you're going to animate
var position = 0;
// move object right 547px regardless of current position
$('#scrollRight-results').click(function(){
// animate regardless?
// unless you're setting right side bounds as well
position += 547;
$('id').animate({'left': position}, 'slow');
});
// move object left 547px if not already at 0
$('#scrollLeft-results').click(function(){
if (position != 0){
position -= 547;
$('id').animate({'left': position}, 'slow');
}
});
})
关于javascript - jQuery:如何在样式为left == 0或0px时防止进一步向左侧动画?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1679020/