2

我有一个带有主导航的 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');


});

它或多或少地起作用。这是我的两个问题:

  1. 为什么会抛出错误“el未定义”
  2. 结果“闪烁”,因为有许多后续元素具有相同的类,例如“class_1”。只要在我阅读课程的位置上没有另一个值,是否可以存储实际值,例如“1”?

谢谢你的帮助。

费边

4

1 回答 1

0

引用自jQuery网站:

从 jQuery 1.6 开始,该.attr()方法返回undefined尚未设置的属性。

确保有class可用的属性。

于 2011-12-01T17:36:13.987 回答