2011-04-22 27 views
19

Intenté escribir un script que me permitiera cargar ciertos eventos cuando ingresaba una url específica.jquery: if url contiene #work y luego haz algo

Mi código es el siguiente:

$(function(){ 
    var url = window.location.pathname; 
    $("url:contains('#Work')").animate({"left": "250"}, "slow"); 
}); 

Pero no funciona. ¿Alguna sugerencia? Cualquier ayuda es apreciada.

Respuesta

44
$(function() { 
    if (document.location.href.indexOf('#Work') > -1) { 
     $('#elementID').animate({"left": "250"}, "slow"); 
    } 
}); 
+0

Perfecto, ¡salud! – Eddie

+12

_Nota para los transeúntes: _ buscar una cadena devolverá '0' si se encuentra al principio y' -1' si no se encuentra. Funciona en este caso porque el fragmento nunca estará al principio de la URL, pero generalmente debe buscar cadenas con '> -1' o'> = 0'. – Wiseguy

9

window.location.href está sacando la URL en una variable, por lo que no puede buscar #Trabajo utilizando ese método. Pruebe:

var url = window.location.href; 

if (url.search("#Work") >= 0) { 
    //found it, now do something 
} 
+0

Gracias, esto también funciona. – Eddie

+5

_Nota para los transeúntes: _ buscar una cadena devolverá '0' si se encuentra al principio y' -1' si no se encuentra. Funciona en este caso porque el fragmento nunca estará al principio de la URL, pero generalmente debe buscar cadenas con '> -1' o'> = 0'. – Wiseguy

+0

Gracias @Wiseguy - Actualicé la respuesta. – Paul

Cuestiones relacionadas