2014-01-05 4 views
0

У меня есть этот небольшой фрагмент кода в тегах сценария, наряду с некоторыми функциями:Как вызвать функцию Javascript время загрузки страницы

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

Это не работает, и я уверен, что его только из-за синтаксиса ошибка. Однако я не могу найти его. Функция предназначена для вызова при загрузке страницы. Можете ли вы, ребята, найти проблему?

+0

Вы уже используете JQuery, поэтому нет никаких оснований вы не используете '$ (документ) .ready (функция () {/ * Ваш код здесь * /}); '? –

+0

URL-адрес: «.../home.php # open». Это верно? – user3055501

ответ

1

Попробуйте это:

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

хэш член window.location возвратит # знак, плюс то, что строка следует за ней.

Вы можете обнаружить это поведение, введя в вашу консоль console.log (window.location.hash).

Кроме того, поскольку вы уже используете JQuery, вы могли бы потенциально придерживаться:

$(function() { 

вместо

window.onload 
+0

Спасибо. Это сработало. – user3055501

0

Вы используете jquery правильно? Попробуйте использовать .ready(); http://api.jquery.com/ready/

Хороший способ писать JavaScript помещается весь ваш яваскрипта код на конце вашей страницы перед </body>

2

window.location.hash включает хэш-знак («#»).

Он никогда не будет соответствовать «открытому» или любой строке без хэштега.

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 не имеет этой проблемы.

Приветствия

Смежные вопросы