Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 - Fatal编程技术网

Javascript jquery在动画之后做些什么

Javascript jquery在动画之后做些什么,javascript,jquery,Javascript,Jquery,在div上执行mouseenter时,会执行以下代码: $('.expandable').mouseenter(function () { $(this).find('.links').css('visibility', 'hidden'); $(this).find('.links').show('fast', function () { $(this).find('.links').css('visibility', 'visible');

在div上执行mouseenter时,会执行以下代码:

$('.expandable').mouseenter(function () {
    $(this).find('.links').css('visibility', 'hidden');

    $(this).find('.links').show('fast', function () {
        $(this).find('.links').css('visibility', 'visible');
        alert("The paragraph is now visible");
    });
}
通常
$(this).find('.links').eq(0).css('background-color','visible')应该在动画完成后执行,但我在执行mouseenter和mouseout时查看开发工具(chrome),但是css没有改变。。。但动画完成后,我会收到警报

有人能帮我吗

编辑,解决方案:

$('.expandable').mouseenter(function () {
    $(this).find('.links').css('visibility', 'hidden');

    $(this).find('.links').show('fast', function () {
        $(this).css('visibility', 'visible');
        alert("The paragraph is now visible");
    });
}
.show()
切换
显示
不透明度
,但不切换
可见性

不透明度
设置为0将具有与设置
可见性
设置为
隐藏
相同的视觉效果。所以我建议你这样做:

$(".divname").css('opacity', '0');
// In case you have no code in between those two jQuery calls, you should use chaining
$(".divname").show('fast', function () {
    $(".divname").css('visibility', 'visible');
    alert("The paragraph is now hidden");
});
我没有看到
$(this).find('.links').eq(0).css('background-color','visible')在您的代码中。您可以在回调中使用
,该回调将指向正在设置动画的元素。试试这个

$('.expandable').mouseenter(function () {
    $(".divname").css('visibility', 'hidden');

    $(".divname").fadeIn('fast', function () {
        $(this).css('visibility', 'visible');
        alert("The paragraph is now visible");
    });
}

您应该使用css属性显示。或者funktion.hide()

方法1:

$(".divname").css('display', 'none');

$(".divname").show('fast', function () {
    $(".divname").hide("fast");
    alert("The paragraph is now hidden");
});
方法2:

$(".divname").hide("fast");

$(".divname").show('fast', function () {
    $(".divname").hide("fast");
    alert("The paragraph is now hidden");
});

jquery.show不处理可见性,它处理display属性。通常,您不希望将显示和可见性混为一谈。无论如何,您要查找的是不透明度=0(与可见性=隐藏具有相同的效果)

我认为你可能想做的是:

$('.expandable').mouseenter(function () {
    $(".divname").
                  css('opacity', 0).
                  animate(
                      {opacity:1},
                      1000,
                      "linear",
                      function(){
                          alert("the paragraph is now visible");
                      }
                  );
});

希望我能帮忙

你能告诉我们如何触发mouseenter/mouseout事件吗?获取元素的速度更快,比如
$('.divname').css('hello')。show('fast')
@aschuler是的,我更新了我的问题WTF
.css('background-color','visible')
?@dotweb请刷新页面