href包含锚#id的BUG-在跳转到锚之前会在页面顶部停留一瞬间
BUG with href containing Anchor #id - hits top of page for split second before jumping to Anchor
我的站点中有一个错误,我很难找到一个优雅的解决方案。我打赌有一个简单的方法可以解决这个问题。。我只是没有看到。如果有任何建议,我将不胜感激。
示例:http://robbroadwell.com/portfolio/ios-apps/rainylectures/
我投资组合中的详细页面有一个主导航,然后在它下面有一个子导航。如果用户在主导航下方看不见的地方向下滚动,我会使用jQuery将左/右箭头的href添加一个锚标签,以便主导航隐藏在他们导航到的页面上。
问题是,大约25%的时间,浏览器在跳到锚标签之前,会在顶部点击目标页面一秒钟,所以你只会看到顶部导航一秒钟。它看起来又脏又坏。
想法…我应该使用CSS转换来隐藏它吗?我应该在URL中传递一个值,然后在目标页面上拾取它,将主导航设置为显示:无,然后如果浏览器位于窗口顶部,用户向上滚动,则将其添加回?
任何帮助都将不胜感激!
您已经在url中传递了一个值:#local-nav
我没有测试它…但我认为这可以工作:
if(location.hash){
$(".navbar-absolute-top").css("visibility","hidden");
setTimeout(function(){
$(".navbar-absolute-top").css("visibility","visible");
},500);
}
-------
编辑基于评论
好吧。。。
如果你在CSS中设置了不可见性怎么办?
.navbar-absolute-top{
visibility=hidden;
}
然后我们决定何时将其设置为可见
如果url中有散列===>请稍候。。。如果没有===>不要等待
;)
if(location.hash){
// Holds on before setting the main nav visible
setTimeout(function(){
$(".navbar-absolute-top").css("visibility","visible");
},500);
}else{
// Sets the main nav visible right now
$(".navbar-absolute-top").css("visibility","visible");
}
500
毫秒可能需要调整
;)
-------
编辑基于评论
关于"震荡效应"。。。也许animate()
使用opacity
:会产生更平滑的效果
body{
opacity=0;
}
if(location.hash){
// Holds on before setting the main nav visible
setTimeout(function(){
$("body").animate({"opacity":1},200);
},50);
}else{
// Sets the main nav visible right now
$("body").animate({"opacity":1},200);
}
以完成效果。。。您应该在paddle-nav-item a
.click()
处理程序中添加一个$("body").animate({"opacity":"0"},200);
,该处理程序将在.animate
回调时重定向:
$(".paddle-nav-item a").click(function(e){
// Hold the click event
e.preventDefault();
// Opacity effect
$("body").animate({"opacity":"0"},200,function(){
// Callback retreive the href and redirect AFTER the animation has completed
redirectTo = $(this).attr("href");
location.assign(redirectTo);
});
});
;)
- Firefox,如何提交表单触发文件下载,但停留在网页上
- Jssor滑块停留在第一个图像上,直到我单击它
- 在浏览器关闭时,单击确认对话框中的“停留在页面上”,执行一个方法
- 可以'在html中,没有任何东西可以停留在图片上方
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- javascript onmouseover/omouseout停留在前一个内容中,直到悬停/触发下一个内容
- 如果用户由于第二个处理程序中的对话框而停留在页面上,则跳过加载前处理程序
- 当结果点击值停留在文本框中时,自动完成搜索
- 停留在页面上取决于值jquery
- HTML提交只在一瞬间起作用
- Jquery:图像获胜'点击后不会改变,而是停留在悬停图像上.
- 如何滚动浏览内容并停留在段落
- 我的猜测次数不会停留在正确的水平上
- 如何制作仅在访问者在页面上停留一段时间后才会出现的弹出窗口
- Google Maps Javascript API停留在精简模式
- 如何查看点击的停留时间
- 如何使用jquery/javascript使光标停留为文本上的指针
- 使滚动导航栏在引导程序中的浏览器顶部停留
- 为什么我的 Jquery 轮播不会停留在最后一张图片上
- href包含锚#id的BUG-在跳转到锚之前会在页面顶部停留一瞬间