如何只需点击一下即可加载html页面并在其中运行一个函数?

时间:2012-08-03 08:28:24

标签: javascript html css

我是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并运行上面的功能而无需再点击一下用户吗? (因此,只会加载“体育”文章的新闻页面)

提前谢谢! 最好的问候

2 个答案:

答案 0 :(得分: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']; ?>);">

答案 1 :(得分:2)

我不确定你的要求,你想在加载页面时运行一个函数吗?如果是这样的话:http://javascript.about.com/library/blonload.htm