我的脚本在 Mozilla Firefox 上不起作用,但在 Chrome 上可以
My scripts doesn't work on Mozilla Firefox but does on Chrome
我有一个用 JS 编码的简单 "Back to top" 按钮。当我向下滚动 150 像素时,它会显示在页面的右下角,当我单击此按钮时,它会将我带回到页面顶部。
这在 Google Chrome 上可以正常工作,但在 Mozilla Firefox 上不能。
我对另一个从用户输入生成随机数的脚本有类似的问题。
(function(){
function createButton() {
var button = document.createElement("button");
button.classList.add("backToTop", "hiddenBack");
button.textContent = "back";
document.body.appendChild(button);
return button;
}
var button = createButton();
function animatedScroll(){
if(window.pageYOffset > 0){
window.scrollBy(0, -5);
setTimeout(animatedScroll, 10);
}
};
button.addEventListener("click", function(e) {
e.stopPropagation();
animatedScroll();
},false);
window.addEventListener("scroll", function(e){
if( window.pageYOffset >= 150){
button.classList.remove("hiddenBack");
}else {
button.classList.add("hiddenBack");
}
},false);
})();
var btn = document.querySelector("#getNumbers"),
output = document.querySelector("#showNumbers");
function getRandom(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
function showRandomNumber(){
var numbers = [];
var random,
from = document.querySelector("#from").value,
to = document.querySelector("#to").value,
how = document.querySelector("#how").value;
for(var i = 0; i < how; i++){
random = getRandom(from,to);
while(numbers.indexOf(random) !== -1){
random = getRandom(from,to);
}
numbers.push(random)
}
output.value = numbers.join(", ");
}
btn.onclick = showRandomNumber;
使用 window.pageYOffset
代替 document.body.scrollTop
:
if(window.pageYOffset >= 150)
有关此问题的更多详细信息:
我有一个用 JS 编码的简单 "Back to top" 按钮。当我向下滚动 150 像素时,它会显示在页面的右下角,当我单击此按钮时,它会将我带回到页面顶部。
这在 Google Chrome 上可以正常工作,但在 Mozilla Firefox 上不能。
我对另一个从用户输入生成随机数的脚本有类似的问题。
(function(){
function createButton() {
var button = document.createElement("button");
button.classList.add("backToTop", "hiddenBack");
button.textContent = "back";
document.body.appendChild(button);
return button;
}
var button = createButton();
function animatedScroll(){
if(window.pageYOffset > 0){
window.scrollBy(0, -5);
setTimeout(animatedScroll, 10);
}
};
button.addEventListener("click", function(e) {
e.stopPropagation();
animatedScroll();
},false);
window.addEventListener("scroll", function(e){
if( window.pageYOffset >= 150){
button.classList.remove("hiddenBack");
}else {
button.classList.add("hiddenBack");
}
},false);
})();
var btn = document.querySelector("#getNumbers"),
output = document.querySelector("#showNumbers");
function getRandom(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
function showRandomNumber(){
var numbers = [];
var random,
from = document.querySelector("#from").value,
to = document.querySelector("#to").value,
how = document.querySelector("#how").value;
for(var i = 0; i < how; i++){
random = getRandom(from,to);
while(numbers.indexOf(random) !== -1){
random = getRandom(from,to);
}
numbers.push(random)
}
output.value = numbers.join(", ");
}
btn.onclick = showRandomNumber;
使用 window.pageYOffset
代替 document.body.scrollTop
:
if(window.pageYOffset >= 150)
有关此问题的更多详细信息: