2
我有一個帶有主導航和子導航的錨點組成的html文檔。 我想要的是在滾動文檔的同時將類切換到錨(subnavigation)。JQuery:在滾動時切換錨點上的類
與jQuery我嘗試了以下內容:
$(function() {
$(window).scroll(function() {
//define position where i want to know the class
var elem = document.elementFromPoint(400, 300) // x, y
//read the class at position
el = $(elem).attr('class');
//get substring of last class in element
//last classes are class_1, class_2, class_3, aso.
subclass = el.substr(el.length-1); //throws an error "el is not defined"
//toggle class
$('a.class_'+subclass).toggleClass('additionalClass');
});
它的工作或多或少。 這裏是我的兩個問題:
- 爲什麼它拋出一個錯誤「沒有定義EL」
- 結果「閃爍」,因爲有相同類別,例如許多後續元素「class_1」。實際值是否可以只要沒有其他人在我讀班的位置上存儲「1」?
感謝您的幫助。
的Fabian
'elem'是否存在?從jQuery開始:從jQuery 1.6開始,對於尚未設置的屬性,'.attr()'方法返回'undefined'。 – Marnix
而另一個問題可能是:你正在要求'document.elementFromPoint'。這將永遠是一樣的。我想你需要問'window',這取決於你的瀏覽器:http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/ – Marnix
'elem'存在。 'window.elementFromPoint'不起作用。 當'.attr()'返回'undefined'時,我希望'subclass'不會改變。即最後一個有效值被存儲並返回,直到讀取下一個有效值。 非常感謝。 –