84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
在打开页面时,该导航在页面中的一个p的顶部 滚动页面时,该导航随页面滚动到窗口的顶部,随后停在那里(position:fixed; top:0; ) 如果不能的话求js思路
光阴似箭催人老,日月如移越少年。
纯css 可能很点困难。 我说下使用js的想法: 1. 记录导航条初始状态下距离页面顶部的距离startPos 2. 在滚动事件上计算页面滚动的距离scrollTop,并比较 startPos 和 scrollTop的大小,如果startPos > scrollTop 则保持导航条在初始位置,否则置顶导航条。
var startPos = $('.nav').offset().top; function setNavPos(){ var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); if (scrollTop > startPos){ $('.nav').addClass('to-top'); }else{ $('.nav').removeClass('to-top'); } } $(window).on('scroll', setNavPos);
如果要支持移动设备,就要使用touch类的事件了, 例如touchmove, touchstart, touchover.
目前CSS没法做判断的啦,要么你就一直在顶部~
你让jQuery.sticky.js情何以堪
css有动画功能 但是 没有类似js监听触发机制 css的动画会在他出现的页面中立马执行,所以只能用js实现, js实现 只要监听滚动事件就好,当滚动事件被触发 你就可以动态设置css的属性 比如修改position 定位,平缓过渡就设置了一下js的动画 或者是css3的transition 属性就好
纯css 可能很点困难。 我说下使用js的想法:
1. 记录导航条初始状态下距离页面顶部的距离startPos
2. 在滚动事件上计算页面滚动的距离scrollTop,并比较 startPos 和 scrollTop的大小,如果startPos > scrollTop 则保持导航条在初始位置,否则置顶导航条。
如果要支持移动设备,就要使用touch类的事件了, 例如touchmove, touchstart, touchover.
目前CSS没法做判断的啦,要么你就一直在顶部~
你让jQuery.sticky.js情何以堪
css有动画功能 但是 没有类似js监听触发机制 css的动画会在他出现的页面中立马执行,所以只能用js实现,
js实现 只要监听滚动事件就好,当滚动事件被触发 你就可以动态设置css的属性 比如修改position 定位,平缓过渡就设置了一下js的动画 或者是css3的transition 属性就好