apfelsine: ScrollTo / ScrollTop

Hallo,

ich versuche seit einiger Zeit meine Webseite mit der Jquery Funktion ScrollTo dazu zu bewegen, nach dem Ladevorgang an einen bestimmten Punkt in der Seite zu springen. Ich habe schon verschiedene Varianten versucht, aber ich mache wohl etwas falsch denn
es funktioniert nicht.

Wäre schön wenn mir hier einer auf die Sprünge helfen könnte:

Erfolglose Variante 1:

$(document).ready()  
                {  
                    var afterSearch='@Model.Searched';  
  
                    if(afterSearch=='True')  
                    {  
  
                        $("#Ergebnisse").scrollTop();  
                    }
<div class="relation-search-title">  
<h1>  
  <u>  
   <a href="Ergebnisse"  
      id="Ergebnisse"  
      style="{ text-decoration:none;}">Verbindungen</a>  
  </u>  
</h1><br />  
</div>

Erfolglose Variante 2:

<td>  
<a name="Verbindungssuche" id="Verbindungssuche" style="{text-decoration:none;}" onload="this.scrollTo("50%");">Einstiegshaltestelle:</a>  
</td> 

Vielen Dank schonmal
apfelsine

  1. Ach ja,

    var afterSearch='@Model.Searched';

    kommt aus Asp.Net und wird im geladenen HTML mit 'True' oder eben 'False' gefüllt
    wenn es sich um eine Antwort aus einer vorangegangenen Suche handelt

  2. Om nah hoo pez nyeetz, apfelsine!

    Was hältst du von der Möglichkeit, seite.html#bestimmte_Stelle als URL zu verwenden?

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen voll und Volleyball.

    1. Om nah hoo pez nyeetz, apfelsine!

      Hilfe... - willst du mich jetzt essen?

      Was hältst du von der Möglichkeit, seite.html#bestimmte_Stelle als URL zu verwenden?

      Ja das wäre mir auch recht. Aber dann muss ich das aus dem Controller heraus machen.-
      Ganz ehrlich:
      als Postback aus MVC4 heraus  keine Ahnung wie die Syntax aussehen muss

      [AcceptVerbs(HttpVerbs.Post)]  
              public ActionResult Preisauskunft(PreisauskunftModel _oMod)  
              {  
                  PreisauskunftModel oMod=null;  
        
                  if (!ModelState.IsValid)  
                  {  
                      oMod= InitPreisauskunftModel();  
                      return View("Views.TicketSystem.Preisauskunft", oMod);  
        
                  }
      
      1. Trotzdem wäre es schön zu wissen, wieso der Code nicht funktioniert.
        Und falls mir jemand alternativ noch sagen kann,
        wie ich der View  Methode die Anker-Referenz mitgebe,
        fänd ich auch prima.

        Irgendwie suche ich für sowas scheinbar unter den falschen Stichworten.
        Wobei mir gerade die Idee kam, das man dafür vermutlich eine neue Route anlegen muss mitsamt Anker.

        1. Om nah hoo pez nyeetz, apfelsine!

          Trotzdem wäre es schön zu wissen, wieso der Code nicht funktioniert.

          var afterSearch='@Model.Searched';

          Hier weist du der Variablen afterSearch den String "@Model.Searched" zu. Wahrscheinlich wird diese Variable niemals ein String mit dem Wert "True" werden.

          if(afterSearch=='True')

          So vergleichst du, ob afterSearch ein String mit dem Wert "True" ist, du möchtest aber wahrscheinlich wissen, ob ein Element existiert.

          style="{ text-decoration:none;}"

          Dies ist im HTML-Kontext falsch.

          Dein HTML sollte auch überarbeitet werden. Das u-Element ist für HTML4 missbilligt und als HTML5-Element nicht notwendig. Ebenso das br-Element. Abstände werden mit CSS festgelegt, auf inline-style-Angaben sollte man ebenso verzichten.

          wie ich der View  Methode die Anker-Referenz mitgebe,
          Wobei mir gerade die Idee kam, das man dafür vermutlich eine neue Route anlegen muss mitsamt Anker.

          Ich habe keinen Plan, wovon du sprichst.

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Kant und Kantate.

          1. var afterSearch='@Model.Searched';

            Hier weist du der Variablen afterSearch den String "@Model.Searched" zu. Wahrscheinlich wird diese Variable niemals ein String mit dem Wert "True" werden.

            Doch. Es war ein versehen das ich die asp.Net Variable drin gelassen habe.
            Im geladenen Dokument steht :

            var afterSearch='True';

            Dementsprechend geht der Compiler auch definitiv da in die if-Abfrage.

            if(afterSearch=='True')

            So vergleichst du, ob afterSearch ein String mit dem Wert "True" ist, du möchtest aber wahrscheinlich wissen, ob ein Element existiert.

            Die if-Abfrage ist korrekt, denn es ist tatsächlich ein String mit dem Wert 'True'.
            Ich habe das überprüft, die Abfrage wird definitiv abgearbeitet.

            style="{ text-decoration:none;}"

            Dies ist im HTML-Kontext falsch.

            Dein HTML sollte auch überarbeitet werden. Das u-Element ist für HTML4 missbilligt und als HTML5-Element nicht notwendig. Ebenso das br-Element. Abstände werden mit CSS festgelegt, auf inline-style-Angaben sollte man ebenso verzichten.

            Danke für den Hinweis. Ich bin da nicht ganz auf dem neuesten Stand.

            wie ich der View  Methode die Anker-Referenz mitgebe,
            Wobei mir gerade die Idee kam, das man dafür vermutlich eine neue Route anlegen muss mitsamt Anker.

            Ich habe keinen Plan, wovon du sprichst.

            Von Routing in Asp.Net MVC3

            lG
            apfelsine