jQuery fadeOut()并单击“问题”

jQuery fadeOut()并单击“问题”,jquery,click,wait,fadeout,Jquery,Click,Wait,Fadeout,这是针对返回者的,作为PHP驱动的CMS的一部分 我们希望返回程序(如果有类admin)添加div hide,这是一个小X按钮。返回器应在4秒后自动淡出(),或在用户单击隐藏按钮时自动淡出() 每个//HERE代码都独立工作,但它们一起只运行延迟淡出()和而不是单击的代码 任何帮助都会很好。谢谢,尼克 $(".success, .info, .warning, .error").each(function(){ if(!$(this).hasClass("admin")){

这是针对返回者的,作为PHP驱动的CMS的一部分

我们希望返回程序(如果有类admin)添加div hide,这是一个小X按钮。返回器应在4秒后自动淡出(),或在用户单击隐藏按钮时自动淡出()

每个//HERE代码都独立工作,但它们一起只运行延迟淡出()和而不是单击的代码

任何帮助都会很好。谢谢,尼克

$(".success, .info, .warning, .error").each(function(){
    if(!$(this).hasClass("admin")){
        $(this).append('<div class="hide"></div>');
        $(this).delay(4000).fadeOut(); // HERE
    }
});
$(".hide").click(function(){
    $(this).parent().fadeOut(); // HERE
});
$(“.success、.info、.warning、.error”)。每个(函数(){
if(!$(this.hasClass(“admin”)){
$(此)。附加(“”);
$(this).delay(4000).fadeOut();//此处
}
});
$(“.hide”)。单击(函数(){
$(this.parent().fadeOut();//此处
});
这条线可以使用清洁剂清洁!在$

if ( !$(this).hasClass("admin") ) {
这避免了不必要的if/else。你能发布一些HTML来看看parent()指的是什么吗

这条线可以使用清洁剂清洁!在$

if ( !$(this).hasClass("admin") ) {

这避免了不必要的if/else。您可以发布一些HTML来查看parent()指的是什么吗?

因为
是动态附加的。隐藏
,您需要使用(或)才能使单击处理程序正常工作

由于您使用的是
delay()
,请尝试调用父级以清除延迟以运行淡出动画

$(".hide").live('click', function(){
    $(this).parent().stop().fadeOut(); // HERE
});

打开它的示例。

由于动态添加了
.hide
,因此需要使用(或)单击处理程序才能正常工作

由于您使用的是
delay()
,请尝试调用父级以清除延迟以运行淡出动画

$(".hide").live('click', function(){
    $(this).parent().stop().fadeOut(); // HERE
});

上面有一个例子。

谢谢,我想知道是不是这样
管理消息$a_m
如果这是您的HTML,那么您可能不需要.parent(),因为.hide将是您希望隐藏的元素…除非它包装在div中。请尝试添加
控制台.log($(this.parent())
并在Firebug的控制台选项卡中查看它的输出。隐藏是实际的X按钮,里面有一个div。WarningTanks,想知道是否是这样
管理消息$a_m
如果这是您的HTML,那么您可能不需要.parent(),因为.hide将是您希望隐藏的元素…除非它包装在div中。请尝试添加
控制台.log($(this.parent())
并查看它在Firebug的控制台选项卡中输出的内容。.hide是实际的X按钮,里面有一个div。警告替换
$(“.hide”)。用
$(“.hide”)单击
。live(“单击”,函数(){})
尝试替换
$(.hide”)。单击
$(.hide”).live(“单击”,函数(){})