Frage

Ich benutze JQuery, um zu einem Anker zu scrollen .... Es funktioniert gut mit einer HTML -Taste, die die Funktion aufruft ...

Aber wenn ich es von der Serverseite nenne, bekomme ich die ID, aber es scheint nicht für mich zu funktionieren ...

LinkButton lb1 = (LinkButton)sender;
ScriptManager.RegisterClientScriptBlock(lb1, typeof(LinkButton),
 "scroll","goToByScroll('myAnchor')", true);

Und meine Funktion ist,

<script type="text/javascript">
 function goToByScroll(id) {alert(id);
   $('html,body').animate({ scrollTop: $("#" + id).offset().top }, 'slow');
   }
 </script>

Ich habe den Fehler bekommen $("#" + id).offset() is null

Ich bekomme den Alarm -ID meines Ankers, aber warum funktioniert es nicht ...

Hier ist mein Anker ...

<a name="myAnchor" id="myAnchor"></a>

Es funktioniert perfekt in einer HTML -Taste,

<input id="Button1" type="button" value="button" onclick="goToByScroll('myAnchor');"/>

War es hilfreich?

Lösung

Sie können versuchen, Ihre Funktion zu bringen, um Scrolltop aus diesem Bereich herauszuholen-nicht sicher kann animate () damit umgehen.

var topOff = $("#" + id).offset().top;
$('html,body').animate({ scrollTop: topOff}, 'slow');

Und wenn das nicht tut, weiß ich nicht, ich erinnere mich daran, JQuery zu überzeugen, dass ich die Dinge im Selektor zu einer Schnur machen wollte, also $("#"+id+"").

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top