0

私はHTML-CSS-JSの初心者ですが、この問題があります:

ウェブサイトのpage1.htmlにいるときは、ナビゲーションバーのサブメニューを選択してページの別の記事を並べ替えることができます(たとえば、サブメニュー1は「スポーツ」で、クリックすると「スポーツ」とタグ付けされた記事が表示されます)。これが関数です:

        <script style="text/javascript">
    <!--
        function sortNews(id){
            var elmt = document.getElementsByTagName("section");

            for(var i = 0; i<elmt.length; i++){
                if(id == "all")
                    elmt[i].style.display = "block";
                else if(elmt[i].className != id)
                    elmt[i].style.display = "none";
                else
                    elmt[i].style.display = "block";
            }
        }
    // -->
    </script>

page2.htmlにいるときは、ナビゲーションバーからページ1のサブメニューを選択することもできます(つまり、マウスがメニューの[ニュース]に移動すると、サブメニューが表示され、[スポーツ]を直接クリックできます)。私の質問は:page1.htmlをロードして、ユーザーをもう一度クリックせずに上記の関数を実行できますか?(したがって、「スポーツ」記事のみのニュースのページが読み込まれます)

前もって感謝します !よろしくお願いします

4

2 に答える 2

3

page1.htmlのbodyのonload属性で関数を呼び出します

<body onload="sortNews(id);">

ただし、id値を取得するには何かが必要になります。
これを行うには、php、より具体的には$_GETを使用できます。

(page2.htmlでは、リンクは次のようになります:

<a href="page1.php?id=sport>Sports News !</a>

とpage1.phpで

<body onload="sortNews(<?php echo $_GET['id']; ?>);">

)。

于 2012-08-03T08:36:42.973 に答える
2

何を求めているのか正確にはわかりませんが、ページを読み込んだときに関数を実行しますか?もしそうなら:http://javascript.about.com/library/blonload.htm

于 2012-08-03T08:35:22.557 に答える