$('input:radio[name="yourgoal"]').one('change',
function() {
if ($('#calculations1').css('display') == 'none') {
$('html, body').animate({
scrollTop: $("#scrollto").offset().top
}, 1500);
}
}
);
我推薦使用一個。第一次事件觸發後,它會自動刪除。
如果您有更多代碼需要在第一次更改後需要保留,您可以使用事件命名空間並附加多個更改。
$('input:radio[name="yourgoal"]').one('change.firstChange',
function() {
if ($('#calculations1').css('display') == 'none') {
$('html, body').animate({
scrollTop: $("#scrollto").offset().top
}, 1500);
}
}
);
$('input:radio[name="yourgoal"]').on('change.allChanges',
function() {
// All your other code that stays attached
}
);
編輯:好像一個不會因爲那是一個「事件將被連接到具有名稱yourgoal每個單選按鈕的工作,所以它會一次爲每個第一個單選按鈕點擊單獨滾動,但你可以做如果您只想在第一次選擇單選按鈕時進行滾動,而不是首次選擇所有共用您的名稱的單選按鈕。
小提琴:http://jsfiddle.net/31s3LLjL/3/
$('input:radio[name="yourgoal"]').on('change.firstChange',
function() {
$('input:radio[name="yourgoal"]').off('change.firstChange');
$('html, body').animate({
scrollTop: $("#scrollto").offset().top
}, 1500);
}
);
$('input:radio[name="yourgoal"]').on('change.allChanges',
function() {
// Other change stuff
}
);
太棒了!所以對於其餘的變化,我真的需要使用:$('input:radio [name =「yourgoal」]')。on('change.allChanges',或者我可以保留原始的.change(function()我已經擁有的代碼?實際上,只是要測試。非常感謝! – JohnC
@JohnC,不需要命名空間另一個。我只是爲了讓代碼更清楚每個事件的作用。 http://jsfiddle.net/31s3LLjL/4/ – AtheistP3ace
它似乎是必要的。其餘的功能打破了我沒有使用你的「on('change.allChanges',」版本並保留我的舊.change(功能()。很高興知道!再次感謝 – JohnC