Jquery向左滚动到随机位置
我正在尝试使用scrollLeft来设置滚动水平div的动画 我不知道我做错了什么-底部的月份链接应该会将您带到水平滚动div中相应的div,它有时会工作,但大部分时间都会去随机的地方(特别是向后) 演示比解释容易,所以请在下面找到一个js提琴。下面是js 和以往一样,我们非常感谢您的建议-如果您需要更多信息,请告诉我Jquery向左滚动到随机位置,jquery,scrolltop,Jquery,Scrolltop,我正在尝试使用scrollLeft来设置滚动水平div的动画 我不知道我做错了什么-底部的月份链接应该会将您带到水平滚动div中相应的div,它有时会工作,但大部分时间都会去随机的地方(特别是向后) 演示比解释容易,所以请在下面找到一个js提琴。下面是js 和以往一样,我们非常感谢您的建议-如果您需要更多信息,请告诉我 问题的一部分是,当你得到这个值时,你得到的是相对于父对象的值。最初单击“June”时,左侧位置为800,但滚动完成后,六月的左侧位置现在为0。当你滚动到零,你在开始结束 我提出
问题的一部分是,当你得到这个值时,你得到的是相对于父对象的值。最初单击“June”时,左侧位置为800,但滚动完成后,六月的左侧位置现在为0。当你滚动到零,你在开始结束 我提出的解决方案是在开始时将所有“左”位置保存到一个数组中。您可能还想考虑使用,这是相对于文档的位置。 以下是我的解决方案,还有一些其他问题需要解决:
这是一个很好的解决方案+1.仅供你们参考,原版和解决方案目前在Opera和IE中都存在问题,因为显示:IE的表格单元格,它们都没有动画。
$(document).ready(function(){
$(".timenav a.may").click(function(){
$('.hori').animate({scrollLeft:$('#may').position().left}, 800);
});
$(".timenav a.june").click(function(){
$('.hori').animate({scrollLeft:$('#june').position().left}, 800);
});
$(".timenav a.july").click(function(){
$('.hori').animate({scrollLeft:$('#july').position().left}, 800);
});
$(".timenav a.august").click(function(){
$('.hori').animate({scrollLeft:$('#august').position().left}, 800);
});
});
var posLeft = [
$('#may').position().left
,$('#june').position().left
,$('#july').position().left
,$('#august').position().left
];
var $hori = $('.hori');
$('.timenav a').on("click",function(e){
$this = $(this);
$hori.stop().animate({
scrollLeft: posLeft[ $this.data("month") ]
}, 800);
});