Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 jQuery Fullpage-在菜单上用水平线显示当前节位置_Javascript_Jquery_Css_Fullpage.js - Fatal编程技术网

Javascript jQuery Fullpage-在菜单上用水平线显示当前节位置

Javascript jQuery Fullpage-在菜单上用水平线显示当前节位置,javascript,jquery,css,fullpage.js,Javascript,Jquery,Css,Fullpage.js,我试图在基于fullpage.js的页面中显示行作为活动部分的指示符 本页有多个部分和小节,活动部分应显示为活动导航的水平红线 例如,如果我在第一节上,那么线条的宽度应该是第一节的宽度,如果我在第节上,那么线条的宽度应该是到第节的末端,依此类推 链接 第一节 第二节 第二节第一分页 第二节第二分页 第三节 第四节 .科{ 文本对齐:居中; 字号:3em; } .内容{ 利润率:50像素 } #myMenu{位置:绝对;背景色:#eee;顶部:0;宽度:100%;边距:0px!重

我试图在基于fullpage.js的页面中显示行作为活动部分的指示符

本页有多个部分和小节,活动部分应显示为活动导航的水平红线

例如,如果我在第一节上,那么线条的宽度应该是第一节的宽度,如果我在第节上,那么线条的宽度应该是到第节的末端,依此类推

链接


第一节
第二节
第二节第一分页
第二节第二分页
第三节
第四节

.科{ 文本对齐:居中; 字号:3em; } .内容{ 利润率:50像素 } #myMenu{位置:绝对;背景色:#eee;顶部:0;宽度:100%;边距:0px!重要;填充:0px!重要;} .active{字体大小:15px;背景色:紫色;} .nav包装{位置:绝对;高度:20px;底部:0;宽度:100%;z索引:99999999;背景:蓝色;} .nav wrapper>ul li{列表样式:无;显示:内联块;填充:0px!重要;边距:0px;左边距:-4px;文本对齐:中间;} .nav包装ul li{宽度:计算(100%/4);} 人力资源{ 背景:#f00无重复滚动0; 高度:5px; 位置:相对位置; 宽度:100%; z指数:99999999; 保证金:-5px }

我如何使用jquery实现这一点?因为您的某些页面是菜单中不存在的子页面,您必须提取页面并将其保存在不同的变量中:

var visibleMenuSections = $('#myMenu a').map(function() {
    return $(this).attr('href').substr(1);
}).get()
现在,此变量包含一个链接数组:

["one", "two", "three", "four"]
拥有此数组后,您可以使用
fullpage
的回调
afterLoad
在每次页面更改后设置
hr
的with:

afterLoad: function(anchorLink, index) {
    p = visibleMenuSections.indexOf(anchorLink);
    if (p > -1) {
        $('.nav-wrapper hr').width((p+1) * (100/visibleMenuSections.length) + '%');
    }
}
下面是一个正在工作的JSFIDLE:

注意-您的html有问题-菜单中的
数据菜单anchor
的值应该是该节的
数据锚的精确值

以下是JSFIDLE的更新版本(有一些css更改):

由于某些页面是菜单中不存在的子页面,因此您必须提取页面并将其保存在不同的变量中:

var visibleMenuSections = $('#myMenu a').map(function() {
    return $(this).attr('href').substr(1);
}).get()
现在,此变量包含一个链接数组:

["one", "two", "three", "four"]
拥有此数组后,您可以使用
fullpage
的回调
afterLoad
在每次页面更改后设置
hr
的with:

afterLoad: function(anchorLink, index) {
    p = visibleMenuSections.indexOf(anchorLink);
    if (p > -1) {
        $('.nav-wrapper hr').width((p+1) * (100/visibleMenuSections.length) + '%');
    }
}
下面是一个正在工作的JSFIDLE:

注意-您的html有问题-菜单中的
数据菜单anchor
的值应该是该节的
数据锚的精确值

以下是JSFIDLE的更新版本(有一些css更改):

卓越的解决方案卓越的解决方案