我正在尝试创建一个按钮,单击该按钮时窗口会自动滚动,再次按下同一按钮时它将关闭。
这是我到目前为止所走的路的一个小提琴:
https://jsfiddle.net/swurvinmervin/n7poL3hw/34/
HTML:
<div class = "b">
<p>pretend button</p>
</div>
样式:
div {
width: 50px;
height:5000px;
background: red;
}
JavaScript:
var button = document.querySelector("div");
button.addEventListener("click",buttonFunction);
function buttonFunction() {
if (button.classList.contains("b")){
button.classList.add("a");
button.classList.remove("b");
} else {
if (button.contains("a")){
button.classList.add("b");
button.classList.remove("a");
}
}
var i = 0;
var winScroll = setInterval(function() {
if (button.classList.contains("a")){
window.scrollBy(0,500);
} else {
if(button.classList.contains("b") ){
clearInterval(winScroll);
}
}
}, 200);
}
答案 0 :(得分:1)
function buttonFunction() {
if (button.classList.contains("b")){
button.classList.add("a");
button.classList.remove("b");
} else {
if (button.classList.contains("a")){
button.classList.add("b");
button.classList.remove("a");
}
}
var i = 0;
var winScroll = setInterval(function() {
if (button.classList.contains("a")){
window.scrollBy(0,500);
} else {
if(button.classList.contains("b") ){
clearInterval(winScroll);
}
} `enter code here`
}, 200);
}
else块中的if条件存在错误,应该是在.contains之前缺少if(button.classList.contains(“ a”)而不是if(button.contains(“ a”))classlist >