【问题标题】:How To Call A Javascript Function On Page Load如何在页面加载时调用 Javascript 函数
【发布时间】:2014-01-05 02:38:52
【问题描述】:

我在脚本标签中有这个小sn-p代码,以及一些功能:

window.onload = function()
    {
        if (window.location.hash === 'open')
        {
            $("#signinform").css("display", "block");
            $(".blackout").css("display", "block");
        }
    }

它不起作用,我很确定它只是因为语法错误。但是,我找不到它。该函数旨在在页面加载时调用。你们能找到问题所在吗?

【问题讨论】:

  • 您已经在使用 jQuery,那么您有什么理由不使用 $(document).ready(function() { /* Your code here */ }); 吗?
  • 网址是“.../home.php#open”。这是正确的吗?

标签: javascript function hash window onload


【解决方案1】:

window.location.hash 包含井号 ('#')。

它永远不会匹配 'open' 或任何没有主题标签的字符串。

【讨论】:

    【解决方案2】:

    试试这个:

    if (window.location.hash === '#open')
    

    window.locationhash 成员将返回 # 符号,以及它后面的任何字符串。

    您可以通过在控制台中输入 console.log(window.location.hash) 来检测此行为。

    此外,由于您已经在使用 jQuery,您可能会坚持使用:

    $(function() {
    

    而不是

    window.onload
    

    【讨论】:

      【解决方案3】:

      你在使用 jquery 对吗?尝试使用 .ready(); http://api.jquery.com/ready/

      编写 javascript 的一个好方法是将所有 javascript 代码放在页面末尾,</body>之前

      【讨论】:

        【解决方案4】:

        当你使用 jquery 时,你可以这样做:

        $(document).ready(function(){
            if (window.location.hash === '#open')  //Inlude hash here!
            {
                $("#signinform").css("display", "block");
                $(".blackout").css("display", "block");
            }
        });
        

        window.location 也可以,但需要更长的时间,例如,如果您的页面中有大图像,它将等到所有图像都加载完毕。 $(document).ready 没有这个问题。

        干杯

        【讨论】:

          【解决方案5】:

          工作正常:

          function loaded() {
              if (window.location.hash == '#open') alert('ok');
          }
          window.location.hash = 'open'
          window.onload = loaded;
          

          http://jsfiddle.net/acrashik/NEfR2/481/

          【讨论】:

            猜你喜欢
            • 2011-04-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-08-30
            • 1970-01-01
            • 2017-04-04
            相关资源
            最近更新 更多