1
希望有人能幫助我的下一個挑戰。下面的腳本與我的HTML一起工作,當我點擊一個擴展的頭部時,它會打開和關閉。我也有一個被調用的alert函數,它顯示擴展頭的文本。這工作。鏈接(擴展器)被點擊後只執行一次警報
我想要做的是讓警報只能顯示一次,任何後續點擊已經點擊的擴展器標題將停止顯示警報。
下面是我從我的工作jQuery代碼...
somesite.ca = {
init: function() {
$('.qa-set')
.find('.answer')
.addClass('hide')
.end()
.find('h3')
.addClass('collapsed')
.bind('click', this.click);
$('#expand').bind('click', this.expandAll);
$('#collapse').bind('click', this.collapseAll);
},
click: function(){
$(this)
.toggleClass('collapsed')
.parent()
.find('.answer')
.slideToggle('fast');
// Once the expander has been clicked execute alert only once for that particular expander header
alert($(this).text());
},
}
希望這是有道理的。非常感謝!
謝謝!這效果很好! 一個小問題是,一旦點擊了其中一個擴展器,此代碼將禁用所有擴展器的警報。這可能會清楚地說明我想要做的事情(對不起,如果缺乏適當的解釋): 頁面上有5個擴展器。 用戶點擊擴展器1(警報點火),然後點擊擴展器3(警報點火),用戶點擊擴展器4(警報點火),再次點擊擴展器1(無警報),然後再次點擊擴展器3(無警報)。 所以警報是特定於擴展器的。希望這個更清楚,我沒有浪費你的時間。你寫的作品完美,太完美了:) – user2330142 2013-05-01 23:05:43
看來,如果我添加this.expander_clicked它似乎工作。 $(本) .toggleClass( '崩潰') .parent() .find( '答案 ') .slideToggle(' 快'); (!this.expander_clicked){alert($(this).text()); this.expander_clicked = true; } }, 任何人都可以看到我有這種結構的潛在問題嗎? 再次感謝!真棒社區... – user2330142 2013-05-01 23:11:48