javascript - 鼠标悬停时如何改善此动画效果循环播放

标签 javascript jquery html css animation

我正在使用 jquery 移动一个 div。 但还有一些地方需要改进

enter image description here

当鼠标靠近左边框时,div不断向右移动,然后向左移动。 这是正常行为,因为对鼠标敏感的区域正在移动。 你有什么建议来改进这个动画?

这是我的代码,这是一个 fiddle

var $content = $("#content");
var $main_container = $("#main_container");

    $content.hover(

    function () {
        $main_container.transition({
            x: '15px',
            y: '15px',
            width: '110px',
            height: '205px'
        }, 200);

    },

    function () {
        $main_container.transition({
            x: '0px',
            y: '0px',
            width: '95px',
            height: '190px'
        }, 200);

    });

});

我也尝试过 mouseenter 但结果相同:

$content.mouseenter(function() {
            $main_container.transition({ x: '15px', y: '15px', width: '205px', height: '205px' },200);
    }).mouseout(function() {
            $main_container.transition({ x: '0px', y: '0px', width: '190px', height: '190px' },200);
    });

最佳答案

当导致过渡的容器正在移动时,它显然会影响您的悬停,尤其是当容器远离鼠标指针时。我建议移动一个容器内的元素,并让该容器触发过渡。这样,容器永远不会移动,悬停保持稳定,动画将正常工作。

Here's a fiddle ,这是示例(显然您可以使容器透明,因此不可见):

HTML:

<div id="container">
    <div id="mover"></div>
</div>

CSS:

#container{
    width: 200px;
    height: 200px;
    background-color: #ccc;
}
#mover{
    width: 100px;
    height: 100px;
    background-color: orange;
}

JavaScript:

$(function(){
    $('#container').hover(
        function(){
            $('#mover')
                .stop(false, false)
                .transition({x:50, y:50});
        },
        function(){
            $('#mover')
                .stop(false, false)
                .transition({x:0, y:0});
        }
    );
});

希望对您有所帮助! :)

关于javascript - 鼠标悬停时如何改善此动画效果循环播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852253/

相关文章:

html - DIV 应在溢出 :hidden parent 内并排保持

javascript - Android chrome 中 JS 代码的低延迟音频播放

javascript - 将 ViewBag 更改为 Json 数组以在 .net MVC 中绘制条形图

javascript - 如何在文档标题上添加 (1) 文本通知

javascript - jQuery:向 Datepicker 添加月份

html - 元素向右浮动而不是用 css 向左浮动

javascript - 如何在jquery动画中定义缓动选项?

javascript - 如何为多个导入的模块使用单个命名空间?

javascript - 这个jquery库的意义是什么?

javascript - 重叠框架的导航菜单