如何在页面加载上调用Javascript函数

时间:2014-01-05 02:38:52

标签: javascript function hash window onload

我在脚本标签中有一小段代码,还有一些功能:

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

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

5 个答案:

答案 0 :(得分:2)

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

永远不会匹配'open',或任何没有hashtag的字符串。

答案 1 :(得分:1)

试试这个:

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

window.location 哈希成员将返回符号,以及其后的任何字符串。

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

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

$(function() {

而不是

window.onload

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

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

干杯

答案 4 :(得分:0)

工作得很好:

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

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