Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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切换宽度动画的两个bug_Javascript_Jquery Animate_Jquery - Fatal编程技术网

Javascript jquery切换宽度动画的两个bug

Javascript jquery切换宽度动画的两个bug,javascript,jquery-animate,jquery,Javascript,Jquery Animate,Jquery,因此,我目前正在开发一个网站,该网站使用了我用JQUERY 1.10.2制作的动画徽标 工作原理:我有一个首字母缩略词“AD”,只要鼠标移到其中一个字母上,全名就会从每个字母的右侧滑出 就像广告->A…D…->敏锐的梦想 如果你不明白这里是一个在我的网站上的现场演示 我的代码是: <script type="text/javascript"> $(function () { $(".logo-firstletter").hover(function () {

因此,我目前正在开发一个网站,该网站使用了我用JQUERY 1.10.2制作的动画徽标

工作原理:我有一个首字母缩略词“AD”,只要鼠标移到其中一个字母上,全名就会从每个字母的右侧滑出

就像广告->A…D…->敏锐的梦想

如果你不明白这里是一个在我的网站上的现场演示

我的代码是:

<script type="text/javascript">
    $(function () {
        $(".logo-firstletter").hover(function () {
            $(".logo-full").animate({width: 'toggle'}, 500);
        });
    });
</script>

$(函数(){
$(“.logo firstletter”).hover(函数(){
$(“.logo full”).animate({width:'toggle'},500);
});
});
也可以随意查看我的页面的源代码

.logo firstletter类是自解释的,.logo full是其他字母

错误1 所以问题是,动画效果很好,但是如果你把鼠标放在右边(不再放在第一个字母上),它就会无休止地动画。。。你自己试试看

错误2 如果您只是在徽标的字母上重复移动鼠标,jquery似乎会记住您将鼠标放在其上的次数,因此它将继续设置动画,直到“计数”结束

非常感谢您的帮助,如果有更好的方法,我也非常欢迎

提前谢谢

也许是这样的:

$(".logo-firstletter").hover(function () {
     if($(".logo-full").is(":animated")) return;   //Add this
     $(".logo-full").animate({width: 'toggle'}, 500);
});
这样,我们只在没有当前动画的情况下设置动画

编辑: 在html中添加新的包装器元素
徽标容器
,如下所示:

    <div id="logo-container">
        <div  class="logo-firstletter">A</div>
        <div class="logo-full">custic</div>
        <div  class="logo-firstletter">D</div>
        <div class="logo-full">ream</div>
    </div>

希望这有帮助。干杯

谢谢你的回答,是的,它确实有帮助:D但唯一的问题是,它使它保持打开状态,我仍然希望它在鼠标离开后关闭。我明白了。。。我编辑了答案,你能再试一次吗?很遗憾,没有,主要问题又回来了(我的网站上也更新了代码,你可以看到)是的,它解决了所有问题D非常感谢你的时间和耐心!我也很聪明,我明白你做了什么。^我没想过。很高兴这对你有帮助:)。干杯,来自玻利维亚拉巴斯
$("#logo-container").hover(function () {
    $(".logo-full").animate({width: 'show'}, 500);
},function () {
    $(".logo-full").animate({width: 'hide'}, 500);
});