2010-09-14 40 views
0

我遇到了即興和實例的問題。我有兩個即興事件,所以當我打電話關閉第一個時,另一個也關閉。即興和實例

有沒有什麼辦法可以說關閉一個而不是另一個?

回答

0

所以我猜你正在使用jQuery.prompt.close()?

我從來沒有使用過即興,但在我看來,它並不意味着支持同時打開的多個實例。你可以通過查看源代碼來說明問題。

http://trentrichardson.com/Impromptu/scripts/jquery-impromptu.3.1.js

就個人而言,我建議你切換到一個更好的設計提示系統,但如果你真的想繼續使用,你必須手動關閉它們。這是.close的內部結構()調用

$('#'+ $.prompt.currentPrefix +'box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 

哪裏currentPrefix等於:

$.prompt('test', { prefix: 'the_prefix' }); 
$.prompt('test', { prefix: 'the_prefix2' }); 

所以,如果你想保持兩個實例分開,你只需要使用兩個單獨的前綴和他們手動關閉他們,如:

$('#the_prefixbox').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
$('#the_prefix2box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
+0

你有推薦更好的提示系統嗎?我喜歡Impromptu的整潔外觀。 – ericso 2012-10-26 04:27:54

0

我試過BBonifield的解決方案上面,但它沒有爲我工作。也許我做錯了。我的情況要求我關閉當前顯示的任何提示,以便我可以顯示下一個提示。爲此,我使用了以下行:

$(".jqibox").remove(); 

這將立即銷燬當前提示。

0

http://trentrichardson.com/Impromptu/

即興4.2

我試圖通過BBonifield提供的代碼和我仍然沒有得到所期望的結果。兩個提示都將關閉,或者第一個提示不會關閉(取決於執行順序)。問題仍然是前面提到的前綴,但ID選擇器不起作用。我不得不使用這個類。

$('.the_prefixbox').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 
$('.the_prefix2box').fadeOut('fast',function(){ 
    $(this).remove(); 
}); 

此外,如果你使用的不是缺省的前綴,你需要在jQuery的impromptu.css您的前綴,以取代「JQI」的所有實例。