HTML如何防止click和fadeOut函數中變量的值發生變化?
<div class="dropdown">
<label class="add-genre-filter not-selected">Add genre filter</label>
<select class="filter" name="filter[]">
<option value="some-value">Some Item</option>
<option value="some-value">Some Item</option>
<option value="some-value">Some Item</option>
<option value="some-value">Some Item</option>
</select>
<span class="cancel"> x </span>
</div>
JS
$(document).ready(function(){
var genreLimit = 3;
$('.dropdown .add-genre-filter').live('click', function(){
genreLimit ? ($(this).parent().append(options) , genreLimit--) : false;
console.log(genreLimit);
});
$('.dropdown .cancel').live('click', function(){
$(this).prev().fadeOut("normal", function(){ $(this).remove(); });
$(this).fadeOut("normal", function(){ genreLimit++; $(this).remove(); });
console.log(genreLimit);
});
});
注:我使用jQuery 1.6,這就是爲什麼還在使用live()
功能
通過點擊<span class="cancel">
都select
和span
淡出並從文檔中刪除。同時也增加了1
的的genreLimit
價值,但如果我反覆點擊span
的X然後genreLimit
值按點擊數量的增加,直至其完全消失出局。我知道它應該像這樣下降,因爲它在click事件中。
但是,我想在fadeOut中只增加一次該值。所以,多次點擊不會改變我的功能。這裏可以做些什麼?
你'。新增流派 - filter'點擊可以僅僅是:!'如果(genreLimit && $(」下拉(':animated'))$(this).parent()。append(options),genreLimit - ;' –
你真的應該看看更現代的jQuery和.one 。上();請參閱:http://api.jquery.com/one/ –
與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或對[so]使用簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be ),這是「提前致謝」,而不是「感謝先進」。 –