Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 如何动态选择上一个同级元素_Javascript_Jquery - Fatal编程技术网

Javascript 如何动态选择上一个同级元素

Javascript 如何动态选择上一个同级元素,javascript,jquery,Javascript,Jquery,我对非标准解决方案的实施存在问题。因此,我的HTML: <a href="#6" id="page-link-6">6</a> <a href="#7" id="page-link-7" class="active">7</a> <a href="#8" id="page-link-8">8</a> 我已选择(活动)链接。当用户在文档顶部滚动时,我需要向previus链接添加相同的(活动)类。此示例具有活动的#page-l

我对非标准解决方案的实施存在问题。因此,我的HTML:

<a href="#6" id="page-link-6">6</a>
<a href="#7" id="page-link-7" class="active">7</a>
<a href="#8" id="page-link-8">8</a>

我已选择(活动)链接。当用户在文档顶部滚动时,我需要向previus链接添加相同的(活动)类。此示例具有活动的#page-link-7。普雷维乌斯6岁。因此,当用户在顶部滚动时,将为#page-link-6添加类“active”。但如果当前活动页面链接为9,如何动态转到8?我希望有人能在这里帮助我。谢谢。

找到当前处于活动状态的元素,然后使用jQuerys
.prev()
方法查找“previous”链接。 类似于

$('.active').prev().addClass("active" );

您只需找到
active
链接的
next
previous sibling
,然后向其添加类,如下所示:

包装所有的

$(window).on('scroll',function(){
    var activeLink=$('.Links').find('.active');
    if($(window).scrollTop() + $(window).height() > $(document).height() - 0) 
    {

          if($(activeLink).prev().length>0)
          {
             $(activeLink).removeClass('active');
             $(activeLink).prev().addClass('active');
          }
    }
    else
    {
        if($(activeLink).next().length>0)
        {
            $(activeLink).removeClass('active');
            $(activeLink).next().addClass('active');
        }
    }
});

我不太明白你的问题,但听起来可能对你更好

$('a').on('click', function (e) {
    $('a').toggleClass("active");
});

.

如果您愿意,可以使用插件:我仍然不确定问题出在哪里。
var activeLink=$('.Links').children().find('.active').removeClass('active');
if($(window).scrollTop() + $(window).height() > $(document).height() - 0) 
{
      $(activeLink).prev().addClass('active');
}
else
{
     $(activeLink).next().addClass('active');
}
$(window).on('scroll',function(){
    var activeLink=$('.Links').find('.active');
    if($(window).scrollTop() + $(window).height() > $(document).height() - 0) 
    {

          if($(activeLink).prev().length>0)
          {
             $(activeLink).removeClass('active');
             $(activeLink).prev().addClass('active');
          }
    }
    else
    {
        if($(activeLink).next().length>0)
        {
            $(activeLink).removeClass('active');
            $(activeLink).next().addClass('active');
        }
    }
});
$('a').on('click', function (e) {
    $('a').toggleClass("active");
});