Javascript 带有JQuery的动画滚动条
如何使文本由于某种原因无法单击…(检查下面的代码)可单击Javascript 带有JQuery的动画滚动条,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何使文本由于某种原因无法单击…(检查下面的代码)可单击 var container=document.querySelector('.container'); var clickMe=document.querySelector('.clickMe'); clickMe.addEventListener('click',function(){ var container=document.querySelector('.container'); $([document.documentEle
var container=document.querySelector('.container');
var clickMe=document.querySelector('.clickMe');
clickMe.addEventListener('click',function(){
var container=document.querySelector('.container');
$([document.documentElement,document.body])。动画({
scrollTop:$(“.container”).offset().top
}, 1000);
});
container.addEventListener('wheel',function(){
var scrollY=window.scrollY;
如果(滚动==0){
$([document.documentElement,document.body])。动画({
scrollTop:$(“.nextContainer”).offset().top
}, 800);
}
});代码>
.container{
背景:绿色;
高度:100vh;
宽度:100%;
}
'wheel'
<
<
<
<
<
<
<
<
<
<
<
<<<<
<<
<<<
<<
<<<<
由于某种原因,我无法点击
您确定它不可单击吗。在处理段落的函数中,单击AddConsole.log(“单击”);并在控制台中查看单击时是否显示任何内容。在css中为clickMe光标添加样式:指针;因此,当您悬停时,它看起来更好。出现问题是因为您在此处仅获得第一个可单击元素:
var clickMe=document.querySelector('.clickMe')代码>
因此,您可以在第一个元素“wheel”文本处附加click事件。
解决此问题的方法是使用获取所有“.clickMe”元素,并将click事件附加到每个元素
var clickMe = document.querySelectorAll('.clickMe');
clickMe[0].addEventListener('click', function() {
var container = document.querySelector('.container');
$([document.documentElement, document.body]).animate({
scrollTop: $(container).offset().top
}, 1000);
});
clickMe[1].addEventListener('click', function() {
var container = document.querySelector('.container');
$([document.documentElement, document.body]).animate({
scrollTop: $(container).offset().top
}, 1000);
});
终于解决了问题
动画之后,
$([document.documentElement, document.body]).animate({
scrollTop: $(".nextContainer").offset().top
}, 800);
我需要添加JQuery:sstop()
函数
$('html,body').stop()代码>
积分:您可以使用jQuery选择器$('.clickMe')
而不是文档.querySelector('.clickMe')
。
比它好用
var container=document.querySelector('.container');
var clickMe=document.querySelector('.clickMe');
console.log(clickMe);
$('.clickMe')。在('click',function()上{
console.log('clicked');
var container=document.querySelector('.container');
$([document.documentElement,document.body])。动画({
scrollTop:$(“.container”).offset().top
}, 1000);
});
container.addEventListener('wheel',function(){
var scrollY=window.scrollY;
如果(滚动==0){
$([document.documentElement,document.body])。动画({
scrollTop:$(“.nextContainer”).offset().top
}, 800);
}
});代码>
.container{
背景:绿色;
高度:100vh;
宽度:100%;
}
'wheel'
<
<
<
<
<
<
<
<
<
<
<
<<<<
<<
<<<
<<
<<<<
由于某种原因,我无法点击
单击侦听器工作,但动画不工作@siriusI无法让它与此解决方案一起工作,您可以发布一个JSFIDLE吗?我使用了JQuery:sstop()
函数,它工作了,也会检查您的解决方案。