メインナビゲーションとサブナビゲーションがアンカーで構成されているhtmlドキュメントがあります。私が試しているのは、ドキュメントをスクロールしながら、クラスをアンカー(サブナビゲーション)に切り替えることです。
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');
});
それは多かれ少なかれ動作します。これが私の2つの質問です:
- 「elが定義されていません」というエラーがスローされるのはなぜですか
- 「class_1」など、同じクラスの後続の要素が多数あるため、結果は「ちらつき」ます。クラスを読んだ位置に他の値がない限り、実際の値、たとえば「1」を保存できますか?
ご協力いただきありがとうございます。
ファビアン