Javascript 跨浏览器jquery动画scrollTop
我在将jquery animate scrollTop设置为已定义的div时遇到了一个问题 我使用以下代码设置滚动动画:Javascript 跨浏览器jquery动画scrollTop,javascript,jquery,scrolltop,Javascript,Jquery,Scrolltop,我在将jquery animate scrollTop设置为已定义的div时遇到了一个问题 我使用以下代码设置滚动动画: $('body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){ $('#ajax_load').load('file.php'); }); 但这在Firefox或IE中不起作用 当我使用$('html').animate而不是$('body')。anim
$('body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){
$('#ajax_load').load('file.php');
});
但这在Firefox或IE中不起作用
当我使用$('html').animate
而不是$('body')。animate
在Chrome中不起作用
我还尝试使用这两种方法:$('html,body').animate
,但问题是回调函数$('ajax_load').load('file.php')代码>执行两次,该调用文件两次
我使用php暂时解决了这个问题,但是这个解决方案迫使我在每个页面上重复代码2次,以生成两个支持$('body')。animate
和$('html')。animate
的浏览器数组
我在这里搜索了一下,发现了这个:但是没有用
我还尝试:
$(窗口)。设置动画
$(文档)。设置动画
$(“#容器div”)。设置动画
但没有办法做到这一点
我能找到一个跨浏览器的方法来实现这一点吗?黑客解决方案可能会奏效
$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500);
setTimeout(function(){
$('#ajax_load').load('file.php');
}, 500);
如中所述
它不能在所有主流浏览器上运行。当应用于“html”时,并不是所有的程序都支持滚动,有些程序需要“body”。这取决于您是否处于怪癖模式。设置iFrame动画时,问题更大
主题发起者最终将动画应用到html,body
,而不是彼此。是的,我读了这篇文章,但我决定搜索并询问是否有任何黑客攻击itdelay(500)没有任何效果,我不知道为什么?我测试了延迟(10000),但相同的结果“没有延迟”他。。。是的,看起来load()方法不会排队,但我在答案中添加了另一个解决方案,应该可以解决这个问题