php中文网

JS Tween动画中图片闪动如何解决?

php中文网

js tween动画中的图片闪动问题解决

在编写js tween动画时,当鼠标悬停事件onmouseover尚未执行完毕时,再次触发该事件会导致图片出现闪动。这个问题主要源于动画执行过程中元素位置的变化。

解决方案如下:

var start = div.offsetleft;

将此语句移至循环外部。

在动画执行过程中,元素的offsetleft属性会改变。因此,在循环内部使用先前的offsetleft值可能会导致动画出现抖动。将该语句移至循环外部可以确保每次动画执行时都使用正确的起始位置。

具体示例代码:

<script type="text/javascript">
  $(function() {
    var start = $('#div').offsetLeft;
    $('#ul li').on('mouseover', function() {
      $('#div').stop().animate({ left: start + 100 }, 500);
    });
  });
</script>

通过将var start = div.offsetleft;语句移至循环外部,我们可以防止动画出现抖动,从而解决图片闪动的问题。

以上就是JS Tween动画中图片闪动如何解决?的详细内容,更多请关注php中文网其它相关文章!