0

我仍然非常学习 jQuery/javascript,因此非常感谢任何指针和改进。

我想在 fadeOut 事件的回调函数中隐藏一个 div,但这不起作用。我写这篇文章的方式有什么问题吗?

function hide() {
    var box = $(this);
    box.children("div").children().fadeOut(500, function() {
        $(this).parent().hide("slow", "easeOutBounce");
    });
};

我正在使用EasingHoverIntentjquery 插件。

我的问题示例

4

3 回答 3

4

回调正在触发,问题在于<div>链接被隐藏,然后您调用slideUp(). 但是当它<div>被隐藏时,包含的 div 的高度就好像它已经完成了滑动一样——所以你调用它来向上滑动。

一种解决方法是几乎 fadeOut()链接,然后向上滑动(因为它们没有完全淡出,它们仍然有高度),然后完全隐藏它们。

工作示例:

http://jsfiddle.net/scFMx/13/

于 2011-03-03T14:06:18.583 回答
1

好像要开火了

box.children("div").children().fadeOut(500, function() {
    console.log($(this).parent().clone());
    $(this).parent().hide();
    console.log($(this).parent());
});

第一次调用日志:

<div class="hidden" style="display:block; ">…&lt;/div>

第二次调用日志:

<div class="hidden" style="display:none; ">…&lt;/div>
于 2011-03-03T14:06:11.973 回答
0

尝试通过指定 ID 替换所有“this”。

于 2011-03-03T14:05:06.863 回答