2017-04-24 12 views
0

JSでコード化された簡単な「トップに戻る」ボタンがあります。 150ピクセル下にスクロールすると、ページの右下に表示されます。このボタンをクリックすると、ページの先頭に戻ります。私のスクリプトはMozilla Firefoxでは動作しませんが、Chromeで動作します

これはGoogle Chromeでは正しく動作しますが、Mozilla Firefoxでは正しく動作しません。

ユーザー入力から乱数を生成する別のスクリプトで同様の問題が発生します。

first script on codepen:

(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); 


})(); 

second script on codepen:

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; 
+0

リモートサイトだけでなく、ここにコードを掲載してください。 [Stack Snippets](https://stackoverflow.blog/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)を使用して実行可能にすることができます。 – Barmar

+0

文法やスペルの間違いや、含まれているコードリンクからハイパーリンクやコードを修正しました。 – jon3laze

答えて

関連する問題