在我的jgrowl消息中,您要求回答是或否,两者都运行ajax呼叫,并且在成功时我希望关闭通知,我该怎么做,是否有一条线要关闭,因为现在他们一切都在计时器(生命)上,所以如果我不让它们“坚持”,它们会自我关闭
答案 0 :(得分:0)
根据您正在进行的ajax调用的性质,如果您有任何方式将调用者上下文与响应处理程序相关联,那么就不会那么难。
事实上,如果您没有标识符,您可以“创建它”(即作为GUID)并在回调函数中使用它。
即。使用jQuery AJAX
var myId=this.id;
$.ajax{
(...),
success:function(){
alert(myId);//still visible from within this place
},
(...)
}
如果你将这个标识符添加到jGrowl面板(可能是隐藏的),那应该是这样做的。
现在,我在一个小提琴中添加了我过去使用的修改后的代码,以防万一它被删除,我也会把它留在这里。这是小提琴网址:http://jsfiddle.net/MCNUw/12/
HTML
<html>
<body>
Open
<div class="classOpen" source="d1">
div1
</div>
<div class="classOpen" source="d2">
div2
</div>
<br>
Close
<div class="classClose" source="d1">
div1
</div>
<div class="classClose" source="d2">
div2
</div>
</body>
CSS
.classOpen{color:green;}
.classClose{color:red;}
JS
var jGrowlConstraints=
{
jGrowlNotifSelector:'.jGrowl-notification',
jGrowlCloseThickSelector:'.jGrowl-close'
}
$(".classOpen").click(
function(){
var $domElement=$(this);
$.jGrowl("<span source='"+$domElement.attr("source")+"'/>"+$domElement.html()
,{ sticky: true });
}
);
$(".classClose").click(
function(){
var $domElement=$(this);
$(jGrowlConstraints.jGrowlNotifSelector)
.has("[source="+$domElement.attr("source")+"]")
.find(jGrowlConstraints.jGrowlCloseThickSelector)
.click();
}
);
希望我早些时候能看到你的问题来帮助你