Was ist los mit dieser JQuery -Funktion?
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');"/>
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+"")
.