Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过javascript在scroll上添加css类_Javascript_Jquery_Html_Css - Fatal编程技术网

通过javascript在scroll上添加css类

通过javascript在scroll上添加css类,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个导航,在悬停上设置样式的每个锚定标记中都有一个空div html 我还有一个活动类,我在点击时附加了一些js。这目前工作正常 var currentDiv; function addSelected(){ if(currentDiv !== undefined){ $(currentDiv).removeClass("active"); } currentDiv = $(this).find('div'); $(currentDiv).addClass("activ

我有一个导航,在悬停上设置样式的每个锚定标记中都有一个空div

html

我还有一个活动类,我在点击时附加了一些js。这目前工作正常

var currentDiv;

function addSelected(){

if(currentDiv !== undefined){
    $(currentDiv).removeClass("active");    
}

currentDiv = $(this).find('div');
$(currentDiv).addClass("active");
}

$(".menu a").click(addSelected);
我试图做的是根据用户滚动来附加相同的活动类。我让它大部分工作正常,但我似乎不知道如何将类附加到div,而不是锚定本身。这是我正在使用的js

js

但我所尝试的一切要么不起作用,要么给了我错误

编辑

这是我试图修改的小提琴


尝试将其更改为在单击处理程序中使用find():

"[href='#"+id+"']").find('div')

尝试将其更改为在单击处理程序中使用find():

"[href='#"+id+"']").find('div')

我想你已经试过了

"[href='#"+id+"']").parent().find('div')
和/或

"[href='#"+id+"'].div"

…如果是这样,您是否能够将
id
添加到
div
并以这种方式定位它?

我假设您已经尝试过

"[href='#"+id+"']").parent().find('div')
和/或

"[href='#"+id+"'].div"
…如果是这样,您是否能够将
id
添加到
div
中,并以此为目标?

使用
子类()
而不是
父类()
查找()

示例:

 if (lastId !== id) {
       lastId = id;
       // add/remove active class on div
       menuItems
         .children().removeClass("active")
         .end().filter("[href='#"+id+"']").children().addClass("active");
   } 
使用
children()
而不是
parent()
find()

示例:

 if (lastId !== id) {
       lastId = id;
       // add/remove active class on div
       menuItems
         .children().removeClass("active")
         .end().filter("[href='#"+id+"']").children().addClass("active");
   } 

你目前的状况如何。你能提供一个提琴吗?它将类附加到锚点标记的父级,而不是锚点内的div标记。请提供你被卡住的完整代码。@dan,我更新了js以包含我正在使用的所有代码,这有帮助吗?你当前的状态是什么。你能提供一个提琴吗?它将类附加到锚点标记的父级,而不是锚点内的div标记。请提供你被卡住的完整代码。@dan,我更新了js以包含我正在使用的所有代码,这有帮助吗?这似乎找到了第一个,但仍然将类添加到父级,即使我将代码更新为这个
.end().filter(“[href=”#“+id+”]”)。find('div')。addClass(“active”)
这似乎找到了第一个类,但仍然将类添加到父类中,即使我将代码更新为
.end().filter(“[href=”#“+id+”)”)。find('div')。addClass(“active”)是的,我可以向div添加一个类,但我仍然不确定如何使用上述代码将该类作为目标。是的,我可以向div添加一个类,但我仍然不确定如何使用上述代码将该类作为目标。