你必須在全球範圍內聲明的功能,而不是在你的。點擊功能宣稱它像這樣:
function animateBody() {
var hash = $(this).val();
var target_offset = $(hash).offset();
$('html, body').animate({scrollTop:target_offset.top}, 500);
}
之後,您可以將功能將多個事件綁定,而不重新聲明它兩次:
$("#jump_menu select option").click(animateBody);
$("#jump_menu select").change(animateBody);
產生的可能是這個樣子:
//Other JQuery/Javascript
function animateBody() {
var hash = $(this).val();
var target_offset = $(hash).offset();
$('html, body').animate({scrollTop:target_offset.top}, 500);
}
$("#jump_menu select option").click(animateBody);
$("#jump_menu select").change(animateBody);
//Other JQuery/Javascript
祝你好運!
唯一的問題是,如果有人滾動到頂部,並嘗試重新選擇前一個選項,它不會再次觸發,我希望保持這種狀態。 –
@George:在這種情況下,我只需將代碼放入匿名函數中,並將其與您想要處理的事件綁定即可。 – sje397
@George:編輯。 – sje397