Jquery fullpage.js站点上的垂直导航魔术标记突出显示
我正在尝试在一个fullpage.js驱动的站点上使用垂直导航突出显示。我希望高亮显示栏在你浏览链接时跟随光标,然后在你点击链接并滚动到fullpage.js linked div后停留在链接上。现在,导航栏会在你悬停在每个链接上时跟随你,但一旦你点击它,它就不会停留在链接上 我已经从这个代码笔中提取了导航代码,并将其编辑为垂直-。它看起来像是在基于类赋值加载时设置高亮显示的原始位置。问题是,一旦单击链接,它就不会更新这些值,因此当您停止悬停时,它会返回到原始类的原始链接。我知道这是一个简单的修复,我只是不知道如何最好地更新这些原始变量的新值,一旦链接被点击 我在下面附上了我目前正在使用的代码笔 这是魔术标记的jQuery代码Jquery fullpage.js站点上的垂直导航魔术标记突出显示,jquery,navigation,fullpage.js,Jquery,Navigation,Fullpage.js,我正在尝试在一个fullpage.js驱动的站点上使用垂直导航突出显示。我希望高亮显示栏在你浏览链接时跟随光标,然后在你点击链接并滚动到fullpage.js linked div后停留在链接上。现在,导航栏会在你悬停在每个链接上时跟随你,但一旦你点击它,它就不会停留在链接上 我已经从这个代码笔中提取了导航代码,并将其编辑为垂直-。它看起来像是在基于类赋值加载时设置高亮显示的原始位置。问题是,一旦单击链接,它就不会更新这些值,因此当您停止悬停时,它会返回到原始类的原始链接。我知道这是一个简单的修
/* Add Magic Line markup via JavaScript, because it ain't gonna work without */
$("#example-one").append("<li id='magic-line'></li>");
/* Cache it */
var $magicLine = $("#magic-line");
$magicLine
.height($(".active").height())
.css("top", $(".active a").position().top)
.data("origTop", $magicLine.position().top)
.data("origHeight", $magicLine.height());
$("#example-one li")
.find("a")
.hover(
function() {
$el = $(this);
topPos = $el.position().top;
newHeight = $el.parent().height();
$magicLine.stop().animate({
top: topPos,
height: newHeight
});
},
function() {
$magicLine.stop().animate({
top: $magicLine.data("origTop"),
height: $magicLine.data("origHeight")
});
}
);
/*通过JavaScript添加魔线标记,因为没有它就无法工作*/
$(“#示例一”).append(“”);
/*缓存它*/
变量$magicLine=$(“#幻线”);
$magicLine
.height($(“.active”).height()
.css(“顶部”,$(.active a”).position().top)
.data(“origTop”,$magicLine.position().top)
.data(“origHeight”,$magicLine.height());
$(“例一里”)
.查找(“a”)
.悬停(
函数(){
$el=$(此项);
topPos=$el.position().top;
newHeight=$el.parent().height();
$magicLine.stop().animate({
上图:托普斯,
高度:新高度
});
},
函数(){
$magicLine.stop().animate({
顶部:$magicLine.data(“origTop”),
高度:$magicLine.data(“origHeight”)
});
}
);
使用fullpage.js选项scrollBar:true
并且您想要使用的magicline需要启用滚动条。这可能不是最好的答案,但它可以正常工作。我回忆了加载时的第一个函数,并在有人点击链接时回忆了相同的函数
/* Cache it */
var $magicLine = $("#magic-line");
$magicLine
.height($(".active").height())
.css("top", $(".active a").position().top)
.data("origTop", $magicLine.position().top)
.data("origHeight", $magicLine.height());
$("#example-one li")
.find("a")
.hover(
function() {
$el = $(this);
topPos = $el.position().top;
newHeight = $el.parent().height();
$magicLine.stop().animate({
top: topPos,
height: newHeight
});
},
function() {
$magicLine.stop().animate({
top: $magicLine.data("origTop"),
height: $magicLine.data("origHeight")
});
}
);
$( "li" ).click(function() {
$magicLine
.height($(this).height())
.css("top", $(this).position().top)
.data("newTop", $magicLine.position().top)
.data("newHeight", $magicLine.height());
$("#example-one li")
.find("a")
.hover(
function() {
$el = $(this);
topPos = $el.position().top;
newHeight = $el.parent().height();
$magicLine.stop().animate({
top: topPos,
height: newHeight
});
},
function() {
$magicLine.stop().animate({
top: $magicLine.data("newTop"),
height: $magicLine.data("newHeight")
});
}
);
});
下面是一个关于代码笔的例子-。如果你有更好的建议,请让我知道 谢谢!我真的不知道该怎么做。fullpage.js上标题为scroll bar enabled的示例实际上没有显示…..的滚动条。无论如何,我都不是专家,所以我必须从其他的例子中脱颖而出,然后根据我的需要调整它们。我明白你在说什么。fullpage.js scrollbar选项并不是我想要的效果,我希望scroll nav是它自己的独立元素,我可以在其中设置样式并让它调整到各个链接。导航与选项
scrollbar:true
无关。是的,使用这样的选项时会有一个滚动条,并在链接的示例中加上int。也许你没有注意到这一点是因为你的浏览器或操作系统(例如Mac)。明白了,如果使用更新版本的chrome在更新的Mac上显示fullpage滚动条选项时出现问题,我宁愿临时创建一个跨浏览器/设备工作的解决方案。也许你应该从定义你所称的开始“一个在站点内工作的javascript滚动条功能”或“站点内导航上的突出显示条”。你可能指的是旁边的导航元素(通常是项目符号)吗?你有什么图片可以给我们看吗?显然,我必须更具体地选择DOM,但到目前为止它似乎有效。