Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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_Html_Css - Fatal编程技术网

Javascript 使用活动类进行平滑滚动导航

Javascript 使用活动类进行平滑滚动导航,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我一直在为一个网站的平滑滚动导航栏工作。我已经设法让导航栏滚动到HTML文档中的不同部分,并且我一直试图让导航栏链接变为活动状态,具体取决于您所处的网页部分 在玩了这些代码之后,我想不出怎么做。我需要做什么 这是我的代码: $('#导航栏li')。单击(函数(){ $(this).addClass('active')。同胞('li')。removeClass('active'); }); @导入url(https://fonts.googleapis.com/css?family=Maven+

我一直在为一个网站的平滑滚动导航栏工作。我已经设法让导航栏滚动到HTML文档中的不同部分,并且我一直试图让导航栏链接变为活动状态,具体取决于您所处的网页部分

在玩了这些代码之后,我想不出怎么做。我需要做什么

这是我的代码:

$('#导航栏li')。单击(函数(){
$(this).addClass('active')。同胞('li')。removeClass('active');
});
@导入url(https://fonts.googleapis.com/css?family=Maven+专业人士:400900700500);;
html{
字体系列:“Maven Pro”,无衬线;
}
身体{
背景:固定
url(images/bright_squares.png)#中交所;
位置:相对位置;
填充:0;
保证金:0;
}
#主页{填充顶部:50px;高度:500px;颜色:#fff;背景图像:url(images/random_grey_variations.png);}
#关于{填充顶部:50px;高度:500px;颜色:#fff;}
#公文包{填充顶部:50px;高度:500px;颜色:#fff;}
#触点{填充顶部:50px;高度:500px;颜色:#fff;}
背景暗{
背景:固定
url(图片/random\u grey\u variations.png);
}
#导航栏{
位置:固定;
顶部:0px;
左:0px;
右:0px;
高度:60px;
保证金:0;
填充:0;
列表样式:无;
背景:#222;
字体系列:“Maven Pro”,无衬线;
字号:18px;
字体大小:300;
}
#李国宝{
位置:相对位置;
浮动:左;
线高:60px;
背景:继承;
文本对齐:居中;
过渡:all.2s;
}
#纳瓦巴利阿{
位置:相对位置;
显示:块;
填充:0 20px;
行高:继承;
颜色:白色;
文字装饰:无;
}
#李娜:以前{
内容:'';
显示:块;
位置:绝对位置;
左:50%;
左边距:-30px;
宽度:60px;
高度:60px;
背景:#222;
边界半径:50%;
变换:旋转(45度);
转换:所有0,背景.2s;
}
#导航栏李:悬停:之前{
页边顶部:1px;
边界半径:50%50%050%;
过渡:全部.1秒,背景.2秒,边距顶部.2秒三次贝塞尔(.5,30,2,0);
}
#李:悬停,
#导航栏李:悬停:之前{
背景#3a3a;
}
#navbar li.active,
#navbar li。活动:之前{
背景:钢蓝;
}

欢迎 试验

文件夹 试验

接触 试验

关于我 试验


我想这也许能回答你的问题。只需在已有的click函数中添加此代码

$($(this).children().attr('href')).addClass('selected').siblings('div').removeClass('selected');

您需要将主页链接改为“主页”,而不是“主页”,不过我想这可能会回答您的问题。只需在已有的click函数中添加此代码

$($(this).children().attr('href')).addClass('selected').siblings('div').removeClass('selected');

您需要将主页链接改为“主页”,而不是“尽管”

如果您想放弃所有这些,这里有一个更快的版本

<script>
    $('#navbar li').click(function() {
        $(this).addClass('active').siblings('li').removeClass('active');
        var x = $($(this).children().attr('href')).first().offset().top
        $('body').animate({
          scrollTop: x
        }, 2000);
    });
</script>

$('#navbar li')。单击(函数(){
$(this).addClass('active')。同胞('li')。removeClass('active');
var x=$($(this.children().attr('href')).first().offset().top
$('body')。设置动画({
滚动顶端:x
}, 2000);
});

这将添加我想您正在寻找的滚动动画。

如果您想放弃所有这些,这里有一个更快的版本

<script>
    $('#navbar li').click(function() {
        $(this).addClass('active').siblings('li').removeClass('active');
        var x = $($(this).children().attr('href')).first().offset().top
        $('body').animate({
          scrollTop: x
        }, 2000);
    });
</script>

$('#navbar li')。单击(函数(){
$(this).addClass('active')。同胞('li')。removeClass('active');
var x=$($(this.children().attr('href')).first().offset().top
$('body')。设置动画({
滚动顶端:x
}, 2000);
});

这将添加我认为您正在寻找的滚动动画。

您到底想要实现什么?将箭头保持在蓝色部分的底部?您到底想要实现什么?将箭头保持在蓝色部分的底部?这是否是正确的格式$('#navbar li')。单击(function(){$(this).addClass('active')。兄弟姐妹('li')。removeClass('active');$($(this).children().attr('href')).addClass('selected')。兄弟姐妹('div')。removeClass('selected'););是的,就是这样。它将类添加到活动div中,以便您可以使用scrollspy或任何您想移动到它的内容。如果这对您有效,请将其标记为答案。谢谢:p这是正确的格式$('#navbar li')。单击(function(){$(this).addClass('active')。同胞('li')。removeClass('active');$($(this).children().attr('href')).addClass('selected')。同胞('div')。removeClass('selected'););是的,就是这样。它将类添加到活动div中,以便您可以使用scrollspy或任何您想移动到它的内容。如果这对您有效,请将其标记为答案。谢谢:p