Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用jQuery在移动设备上流畅地制作动画?_Javascript_Jquery_Html_Jquery Animate - Fatal编程技术网

Javascript 用jQuery在移动设备上流畅地制作动画?

Javascript 用jQuery在移动设备上流畅地制作动画?,javascript,jquery,html,jquery-animate,Javascript,Jquery,Html,Jquery Animate,在加载一个相当长的页面时,我需要平滑地向下滚动到页面上的某个位置,这样用户就不必这样做了 $(document).ready(function () { // Handler for .ready() called. $('html, body').animate({ scrollTop: $('#today').offset().top }, 'slow'); }); ... <div id="today">foo</div>

在加载一个相当长的页面时,我需要平滑地向下滚动到页面上的某个位置,这样用户就不必这样做了

$(document).ready(function () {
    // Handler for .ready() called.
    $('html, body').animate({
        scrollTop: $('#today').offset().top
    }, 'slow');
});

...
<div id="today">foo</div>
$(文档).ready(函数(){
//调用了.ready()的处理程序。
$('html,body')。设置动画({
scrollTop:$(“#今天”).offset().top
}“慢”);
});
...
福
这在桌面浏览器中运行得很好,但在iPhone上,尤其是在Android上,它非常不稳定

问题:

  • 我这样做对吗?有更好的办法吗
  • 有没有办法以毫秒为单位指定一个特定的时间间隔,而不是“慢”
  • jQuery
    .animate()
    放松
    选项默认设置为
    摆动
    ,尝试设置为
    线性
    ,例如。,
    $(文档).ready(函数(){
    //调用了.ready()的处理程序。
    $('html,body')。设置动画({
    scrollTop:$(“#今天”).offset().top
    },2000年,“线性”);
    });
    
    #今天{
    位置:绝对位置;
    顶部:1000px;
    }
    
    
    今天
    1。取决于你认为什么是“肉干”2。是的,只需使用1000而不是“慢”或任何其他number@monkeyinsight我尝试使用一个较大的数字,但没有任何效果。检查文档,它在那里工作。您也可以尝试此库,它取代了
    setTimeout
    函数,该函数与设备上可能的FPS不对应,通过
    requestAnimationFrame
    这是一种更现代的动画制作方法。顺便说一句,我不建议使用jQuery,因为它本身非常“急促”,会减慢网站的速度