2010-08-21 79 views
1

在我的jgrowl消息中,您要求回答是或否,都運行ajax調用,並且如果成功,我希望關閉通知,我該怎麼做,是否有一條線要關閉,因爲現在他們都是定時器(生命),所以他們關閉自己,如果我不讓他們「堅持」jGrowl如何關閉通知?

+0

它已經很晚了,但是根據你所做的ajax調用的性質,如果你有任何方法將調用者上下文與響應處理程序關聯起來,那就不是那麼難。 – 2011-08-15 00:43:26

回答

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> 
    &nbsp;<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(); 
    } 
); 

希望我能看到你的問題的EA rlier來幫助你然後