2016-10-05 4 views
0

に取り組んでいないwindow.onload:は私がbroswerを開くときにホームページとしての私のページのいずれかを設定するには、次のJavaScriptを使用してFirefoxの

<script> 
    window.onload = function() { 
     Home(event, 'Home'); 
    } 
</script> 

ここではどのようにホーム機能の仕事です:

function Home(evt, sectionName) { 
    var i, tab, tablinks; 
    tab = document.getElementsByClassName("tab"); 
    for (i = 0; i < tab.length; ++i) { 
     tab[i].style.display = "none"; 
    } 
    tablinks = document.getElementsByClassName("tablinks"); 
    for (i = 0; i < tablinks.length; ++i) { 
     tablinks[i].className = tablinks[i].className.replace(" active", ""); 
    } 
    document.getElementById(sectionName).style.display = "block"; 
    evt.currentTarget.className += " active"; 
} 

とCSS:

tab { 
    display: none; 
    padding: 6px 12px; 
    border-top: none; 
} 

彼らは、Chromeとエッジの両方で素晴らしい仕事が、Firefoxの上でそれをテストするときにホームページが表示されないI Homeにのみ別のCSSクラスを作成しようとしましたが、display: inlineを使用しましたが、ホームページは常にトップページに残り、すべてのページに表示されます。なぜFirefox上で正しく動作しないのだろうか?それを修正することは可能ですか?

+2

は、単に' <ボディonloadイベントは= "yourfunction()">を追加するには、JSに

var some = function() { Home(event, 'Home'); } 

を追加します。 – prasanth

+1

または 'window.onload'の代わりに' document.body.onload' –

+0

@prasadこれは本当にシンプルで働きます、ありがとう!なぜこれが起こるのか聞かせてもらえますか? 'window.onload'を使ってホームページを設定するのは悪いですか? – Phantom

答えて

0

`.Itsはwindow.onloadのように振る舞うのHTML

<body onload="some()"> 
    <!---your code---> 
    </body> 
+1

これは、答えよりもスポット・ザ・ゲームのようなものです。 – Quentin

関連する問題