現在我正在編寫一些訓練代碼。試圖編寫一個半固定的頁面元素。這是我的結果現在:如何將我的腳本封裝到一個函數中?專業的方法?
$(document).ready(function() {
var elementPosition = $("#header").offset();
var elementHeight = $("#header").outerHeight();
$("#header").before("<div id='placeholder' style='display:none; height:" + elementHeight + "px'></div>");
$(window).scroll(function() {
checkAttached("#header");
});
function checkAttached(element) {
var windowDepth = $(window).scrollTop();
if (windowDepth >= elementPosition.top) {
$(element).addClass("attached");
$("#placeholder").css("display", "block");
} else {
$(element).removeClass("attached");
$("#placeholder").css("display", "none");
};
};
});
的事情是,我不能與解決方案非常滿意。我希望它更靈活一點。我的目標是一個獨立的功能,可以解決各種頁面元素。像這樣的事情:
attachThis(element);
現在我遇到了滾動事件的麻煩。我不能有這個功能,我可以嗎?此外,我不知道一個很好的解決方案,不覆蓋「elementPosition」。我現在的解決方案是在函數之外定義它。不是很乾淨。
當然,我並不希望你提供更好的腳本,但也許你可以推動我走向正確的方向併爲我指出一個合適的技術?我很想知道專業人員如何處理這項任務。
我會建議詢問[codereview.SE](http://codereview.stackexchange.com/),這個問題將在主題上討論,並且您可能會對代碼獲得更好的整體反饋。 – mgibsonbr 2013-02-26 19:54:15
謝謝你的鏈接,我會檢查一下!在不久的將來,可能會完美地幫助我! – Kreativrandale 2013-02-26 20:09:05