Kan ik een jQuery-script met hashtag in URL activeren?

Ik heb een div die naar beneden valt en verschijnt met jQuery wanneer een gebruiker op een specifieke link klikt. Zou het mogelijk zijn om dit script te activeren bij het laden van de pagina als de URL eindigt in een bepaalde hashtag?

Om specifieker te zijn. Mijn site heeft op elke pagina een paneel met een formulier dat gebruikers invullen om een ​​offerte aan te vragen voor onze producten. Als een gebruiker een productpagina bezoekt met de URL http://mysite.com/product/ipod#quote , Ik wil graag dat mijn javascript-geactiveerde paneel wordt geactiveerd bij het laden van de pagina.

En om duidelijk te zijn, de hashtag zal geen locatie op mijn pagina zijn.

0
Ik krijg een 404 (of, in ieder geval, de mijnsite specifieke 'pagina niet gevonden' pagina) van uw link.
toegevoegd de auteur David Thomas, de bron
Sorry daarvoor, dat was maar een voorbeeldlink! Als u geïnteresseerd bent om mijn werkende site te zien, klikt u op de link: iavi.com/itemdesc.asp ? ic = CPWX4021N . Klik op de knop Offerte om het JavaScript te zien dat ik wil activeren bij het laden van de pagina met een hashtag voor de url.
toegevoegd de auteur jkupczak, de bron

2 antwoord

Ja. Hoewel ik geen specifiek antwoord kan geven zonder een paar details te kennen (welke hash-tag, wat bedoel je met een 'hash-tag' en welke functienaam noem je?), Maar in feite:

if (window.location.hash == 'hashtagValue') {
   //do stuff
}

Stel dat u de pagina hebt bezocht op http://example.com/index.html#dropDown en vervolgens:

if (window.location.hash == 'dropDown') {
   //do stuff, for example:
    alert("You're one the `dropDown` hash of the page!");
}

zou de waarschuwing laten zien. U kunt ook een functie oproepen of iets anders helemaal binnen de voorwaarde als doen. zou

1
toegevoegd
Oh, lieve heer ... nu herinner ik me waarom ik begon met het gebruik van " in waarschuwingen ... zucht. Bedankt, Joey! bewerkt =)
toegevoegd de auteur David Thomas, de bron
Probeer een eenvoudige waarschuwing (geen if of iets alleen de alert() ): alert (window.location.hash) ; en zie wat dat oplevert.
toegevoegd de auteur David Thomas, de bron
De waarschuwing vuurt een fout af als u geen backslash toevoegt aan de apostrof in "you're".
toegevoegd de auteur Joey, de bron
Bedankt voor het antwoord. Ik heb mijn bericht bijgewerkt om een ​​beetje gedetailleerder te zijn. Ik had op dat moment haast! = P Ik heb je code uitgeprobeerd zonder iets te veranderen. Ik navigeerde naar mijn site met #dropDown aan het einde van de URL, maar ik kreeg geen melding.
toegevoegd de auteur jkupczak, de bron
alert (window.location.hash); produceert een waarschuwing met de hashtag van de URL. Of een lege melding als er geen hashtag is. Helaas kan ik de if -instructie niet laten werken.
toegevoegd de auteur jkupczak, de bron
$(function(){
  if(document.location.hash.search('hash') !== -1){
    $('a#with-id').trigger('click');
  }
});

hash is the name of the hash
a#with-id is the selector of the link

if the "hash" is the only value in your hash, you can simply compare with document.location.hash === '#hash'

1
toegevoegd
Dit werkte voor mij precies zoals ik het wilde. Dank je!
toegevoegd de auteur jkupczak, de bron