Tengo este pequeño fragmento de código en las etiquetas de secuencia de comandos, junto con algunas funciones:

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

No trabajo y estoy bastante seguro de que es sólo a causa de un error de sintaxis. Sin embargo, no la puedo encontrar. La función está pensada para ser llamado cuando se carga la página. Pueden ustedes encontrar el problema?

  • Usted ya está usando jQuery, así que ¿hay alguna razón usted no está utilizando $(document).ready(function() { /* Your code here */ }); ?
  • La url es «…/home.php#abrir». Es esto correcto?
InformationsquelleAutor user3055501 | 2014-01-05

5 Comentarios

  1. 1

    Intente esto:

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

    La hash miembro de ventana.ubicación devolverá el # signo, además de lo que la cadena sigue.

    Puede detectar este comportamiento escribiendo de la consola.registro(de la ventana.ubicación.hash) en tu consola.

    Además, ya que usted ya está usando jQuery, usted podría potencialmente palo con:

    $(function() {

    lugar de

    window.onload
    • Gracias. Esto funcionó.
  2. 2

    ventana.ubicación.hash incluye el símbolo de almohadilla (‘#’).

    Nunca va a coincidir en «abrir», o cualquier cadena de texto sin el hashtag.

  3. 0

    Como usted está usando jquery, usted puede hacer:

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

    window.location también funciona, pero se necesita mucho más tiempo, por ejemplo, si usted tiene grandes imágenes en su página, se va a esperar hasta que todos se cargan. $(document).ready no tiene este problema.

    Saludos

Dejar respuesta

Please enter your comment!
Please enter your name here