我用這個功能,使的幫助框保持可見,當用戶向下滾動:重新使用jQuery的功能,而不會對頁面出錯不利用它
var top = $('.help-box').offset().top - parseFloat($('.help-box').css('marginTop').replace(/auto/, 0));
$(window).scroll(function (event) {
var y = $(this).scrollTop();
if (y >= top) {
$('.help-box').addClass('fixed');
} else {
$('.help-box').removeClass('fixed');
}
});
我想在幾個頁面上重用,所以我將它包含在我的佈局中(每次加載頁面時)。現在的問題是,我在沒有幫助框的頁面上遇到錯誤:$(".help-box").offset() is null
有沒有寫這個函數的方法,以便可以重用而不會導致錯誤?我想避免有選擇地包括它需要它的地方,因爲只是將這些包含在我的佈局中更容易。
try-catch塊? – freakish
@freakish,我想這應該是明顯的......我不認爲這是「正確的方式」去... – Mohamad
爲什麼不呢?幾乎沒有人似乎使用try-catch,不知道爲什麼。它非常適合處理這種情況。這很簡單,快速並且完成這項工作。你不需要包裝你的代碼或使用許多奇怪的'if'語句。 – freakish