滚动快照但在页面上使用锚标记
Scroll snap but using anchor tags on the page
我尝试将 滚动捕捉 设置到位。我尝试实现的目标可以在这里看到:http://alvarotrigo.com/fullPage。所以当用户开始滚动时,它会立即被拦截并滚动到下一部分。
我无法使用此 link 上提供的插件,因为他们将 div 与 section
class 一起使用,但我无法编辑此类 html 元素.
我更喜欢在页面的锚标记上使用 id
。因此,当用户开始滚动时 up/down 我需要检测 previous/next 锚点并滚动到它。
如上面的 link 演示所示,当(鼠标)滚动开始(向上或向下)时,没有什么可以阻止它......直到它停止。然后又会发生另一个滚动。
由于以下代码,我可以轻松检测到鼠标向上或向下滚动:
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
console.log('down');
} else {
// upscroll code
console.log('up');
}
lastScrollTop = st;
});
我也可以像这样检测滚动是否正在进行:
$(window).scroll(function(event){
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
// do something
console.log("Haven't scrolled in 250ms!");
}, 250));
});
现在我需要 真正 滚动到 next/previous 锚点(感谢 scrollTop)
我的 jsFiddle:http://jsfiddle.net/f38fmsw9/1/
滚动时打开控制台并检查消息up/down/停止。
非常感谢您为我指明了正确的方向。
I cannot use the plugin provided on this link because they use div
with section class but I cannot edit this kind of html elements.
为什么不使用 fullpage.js 选项 sectionSelector
来更改它并使用任何其他选择器?
$('#fullpage').fullpage({
sectionSelector: '.mySelector'
});
然后在HTML
<div id="fullpage">
<div class="mySelector">Section 1</div>
<div class="mySelector">Section 2</div>
<div class="mySelector">Section 3</div>
</div>
如果您没有所有部分的通用 class,您甚至可以使用以下内容:
sectionSelector: '#fullpage>div'
任何 jQuery 有效的选择器都将被允许。
I prefer using the id on the anchor tags on the page. So when user
starts scrolling up/down I need to detect the previous/next anchor and
scroll to it.
我想说使用 id
元素可能会非常困难,因为在您甚至可以控制动画之前,网站将滚动到给定的 ID。
这是一个浏览器功能。
我尝试将 滚动捕捉 设置到位。我尝试实现的目标可以在这里看到:http://alvarotrigo.com/fullPage。所以当用户开始滚动时,它会立即被拦截并滚动到下一部分。
我无法使用此 link 上提供的插件,因为他们将 div 与 section
class 一起使用,但我无法编辑此类 html 元素.
我更喜欢在页面的锚标记上使用 id
。因此,当用户开始滚动时 up/down 我需要检测 previous/next 锚点并滚动到它。
如上面的 link 演示所示,当(鼠标)滚动开始(向上或向下)时,没有什么可以阻止它......直到它停止。然后又会发生另一个滚动。
由于以下代码,我可以轻松检测到鼠标向上或向下滚动:
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
console.log('down');
} else {
// upscroll code
console.log('up');
}
lastScrollTop = st;
});
我也可以像这样检测滚动是否正在进行:
$(window).scroll(function(event){
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
// do something
console.log("Haven't scrolled in 250ms!");
}, 250));
});
现在我需要 真正 滚动到 next/previous 锚点(感谢 scrollTop)
我的 jsFiddle:http://jsfiddle.net/f38fmsw9/1/
滚动时打开控制台并检查消息up/down/停止。
非常感谢您为我指明了正确的方向。
I cannot use the plugin provided on this link because they use div with section class but I cannot edit this kind of html elements.
为什么不使用 fullpage.js 选项 sectionSelector
来更改它并使用任何其他选择器?
$('#fullpage').fullpage({
sectionSelector: '.mySelector'
});
然后在HTML
<div id="fullpage">
<div class="mySelector">Section 1</div>
<div class="mySelector">Section 2</div>
<div class="mySelector">Section 3</div>
</div>
如果您没有所有部分的通用 class,您甚至可以使用以下内容:
sectionSelector: '#fullpage>div'
任何 jQuery 有效的选择器都将被允许。
I prefer using the id on the anchor tags on the page. So when user starts scrolling up/down I need to detect the previous/next anchor and scroll to it.
我想说使用 id
元素可能会非常困难,因为在您甚至可以控制动画之前,网站将滚动到给定的 ID。
这是一个浏览器功能。