粘性导航使用路径点调整大小的问题
Sticky Nav using Waypoints resize issues
我正在为我的班级项目开发一个网站,我正在使用路径点来实现粘性导航。在页面加载时,导航位于ViewPort的底部,一旦waypoints检测到导航条已经到达ViewPort的顶部,它就会应用一类"navis -sticky",当滚动回滚时,waypoints再次检测并将其放回正确的位置。
我的问题发生在窗口调整大小,我知道什么是错的,我只是不能找出一个解决方案,即使它是盯着我的脸。如果你向下滚动页面,并且导航已经"卡"在视口的顶部,然后你调整窗口路径点函数再次运行,因为导航被卡在视口的顶部,它会触发命中并将其放回其原始位置。
问题可以在这里看到,向下滚动,这样英雄图像是在视图之外,并调整窗口大小。http://www.digitaldripmedia.com/web_campaign_project
这是css
.nav-global-bar {
position: absolute;
background-color: $dark-gray;
height: 4.25em;
width: 100%;
top: 0;
}
.nav-is-sticky {
position: fixed;
top: 0;
}
这里是jquery的
var windowH = $(window).height();
var navH = $('nav').height();
function navPos() {
windowH = $(window).height();
navH = $('nav').height();
var nav = $('nav');
if (!nav.hasClass('nav-is-sticky')) {
// positions nav bar at bottom of viewport
nav.css({
top: windowH - navH
});
}
nav.waypoint(function(direction) {
if (direction == 'down') {
// if nav bar hits top of viewport apply nav is stick class
nav.addClass('nav-is-sticky');
$('.nav-is-sticky').css({
top: 0
});
} else if (direction == 'up') {
//remove nav is sticky class when scrolling back up and put back to original spot
nav.removeClass('nav-is-sticky');
if (!nav.hasClass('nav-is-sticky')) {
nav.css({
top: windowH - navH
});
}
}
});
}
navPos();
$(window).resize(function() {
if(!$('nav').hasClass('nav-is-sticky')) {
navPos();
}
});
任何帮助是非常感激的,以及任何方法做这个任务在一个更好的清洁方式,我仍然是新的jquery谢谢!
试图将一个航路点固定到一个移动的对象上几乎肯定会给你带来不希望的结果——你可以通过在你的main
元素上调用.waypoint()
函数而不是在导航上得到你想要的效果。这将确保只有当你真正在页面上的滚动水平时,路标才会触发。
另外,你在navPos中调用waypoint()函数,但它不需要像那样一遍又一遍地重新初始化;只需将初始的。waypoint()调用移到外部,让它在页面加载时发生。
编辑:我测试了这个多一点,我最初的解决方案可能不是你想要的效果;如果不是,请查看路径点粘贴定位快捷方式;也许能满足你的需要相关文章:
- 客户端图像调整大小.任何已知问题
- 图像自适应调整大小+Javascript的问题
- 根据窗口宽度修剪字符串,调整大小时出现问题
- highcharts饼图窗口调整大小问题
- 页脚 JS 调整问题
- 模式对话框中 ui-grid 的大小调整问题不正确
- jQuery对话框大小调整问题
- html和js矩形大小调整问题
- HTML5画布drawImage大小调整问题
- Javascript SDK错误和画布大小调整问题
- Firefox中的大小调整问题-加载时
- 角度拖放保存在数据库中的位置和屏幕大小调整问题
- Javascript文本大小调整问题
- Fullpage.js - video &页面大小调整问题
- 烦人的javascript时区调整问题
- JQuery Lined TextArea大小调整问题
- 解决POP UP窗口大小调整问题
- Html上的图像大小调整问题
- jQuery大小调整问题,如果应用于一个可调整大小的子元素
- 窗口大小调整问题