Frage

Site liegt @ beattrainsoundsystem.com/home

Ich verwende serialScroll eine Reihe von divs Zeichen enthalten Tanzen zu animieren, und mit LocalScroll den Inhalt divs zu animieren. Mein Problem ist, dass, wenn Sie versuchen, eine URL mit einem Hash (zum Beispiel beattrainsoundsystem.com/home#store) laden die Zeichen divs animieren nicht in die richtige Position. Ich weiß, dass, damit dies geschieht, ich brauche eine bedingte Funktion für die „Start“ zu schaffen Einstellung, den „Start“ zu ändern Wert auf dem Hash in der URL abhängig. Wie so etwas wie ein Neuling in jQuery, ich bin nicht ganz sicher, wie dies zu codieren.

Ich verwende bereits einen URI-Parser-Plug den Hash in der URL zurückzukehren, so für „ http : //www.beattrainsoundsystem.com/home#store "

var urlHash = $.url.attr('anchor');

wird zurückkehren "store"

Also, was ich brauche, ist eine Funktion, die sagt:

if (urlHash == home) {
     var start = 0
} else if (urlHash == mixes) {
     var start = 1,
} else if (urlHash == contact) {
     var start = 2,
}

Dies ist offensichtlich nicht richtig codiert, sondern ist eine Konzeptualisierung des Skripts, das ich brauche, um diese Arbeit zu machen.

Vielen Dank für Ihre Hilfe!

War es hilfreich?

Lösung 3

jQuery(function( $ ){
var urlHash = $.url.attr('anchor');
if (urlHash=="mixes") {
    $("#sectionsContent").scrollTo( $("#mixes"), 0 );
    $("#sectionsMid").scrollTo( $("#mixmid"), 0 );
    $("#sectionsTop").scrollTo( $("#mixTop"), 0 );
    $("#sectionsBottom").scrollTo( $("#mixBottom"), 0 );
}

if (urlHash=="contact") {
    $("#sectionsContent").scrollTo( $("#contact"), 0 );
    $("#sectionsMid").scrollTo( $("#storemid"), 0 );
    $("#sectionsTop").scrollTo( $("#storeTop"), 0 );
    $("#sectionsBottom").scrollTo( $("#storeBottom"), 0 );
}

if (urlHash=="store") {
    $("#sectionsContent").scrollTo( $("#store"), 0 );
    $("#sectionsMid").scrollTo( $("#blogmid"), 0 );
    $("#sectionsTop").scrollTo( $("#blogTop"), 0 );
    $("#sectionsBottom").scrollTo( $("#blogBottom"), 0 );
}

});

Andere Tipps

Sie sollten wahrscheinlich integrieren diese mit localScroll. Wenn Sie $ .localScroll.hash () aufrufen, wird es auf das Element bewegen durch den Hash zeigte und die Änderung serialScroll informieren.

Es springt nicht direkt auf mich, wo die Click-Ereignisse für die Links oben behandelt werden, was ich versuche, so finde ich ein konkretes Beispiel geben könnte.

Es sieht aus wie das einzig Mal, wenn die Animation funktioniert nicht, wenn ich direkt zu einem gewissen Seite gehen, die den Hash in der URL hat. Also, ich könnte so etwas wie:

  1. Auf Seite zu laden, greifen die #name aus der URL
  2. Finden Sie das Element, dessen href = der Name Ich packte (Sie sie gleichnamigen haben, besser wäre es, diejenigen, die eine ID geben <a href="#name"> wie <a id="name" href="#name">
  3. Sie einen Klick () Ereignis auf diesem Element die normale Animation Methode zur Simulation

Das ist nicht ideal, wenn Sie es in der richtigen Position laden mögen, ohne eine Animation zeigt.

Es soll möglich sein, so etwas zu tun:

$(document).ready(function(){
      // This whole part is pseudocode since I didn't spend
      // the time to find exactly how you're doing things

      // get the hash portion from the URL
      // (just copying you here, haven't done this myself)
      var sourceLinkHref = $.url.attr('anchor');

      // Find the <a> tag whose href attribute matches the
      // name you just found, and .click() it
      $("a[href=#" + sourceLinkHref + "]")
          .click();
   });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top