J'ai un gridview à l'intérieur d'un div .. Je veux faire défiler vers le haut de la div à partir du bas de la div en utilisant jquery .. Toute suggestion ..
<div id="GridDiv">
// gridview inside..
</div>
Mon gridview aura des boutons de liens personnalisés générés par la pagination ... Je ferai défiler vers le haut de la division à partir du bas du bouton de lien, cliquez sur ...
protected void Nav_OnClick(object sender, CommandEventArgs e)
{
LinkButton lb1 = (LinkButton)sender;
//string s = lb1.ID;
ScriptManager.RegisterClientScriptBlock(lb1, typeof(LinkButton),
"scroll", "javascript:document.getElementById('GridDiv').scrollTop = 0;", true);
À la place de javascript, j’appellerai la fonction jquery ... Toute suggestion ...
MODIFIER:
Exactement comme des questions Stackoverflow par page d'utilisateur ... Lorsque vous changez de page, il défile vers le haut avec un effet lisse ... Je veux y parvenir ...
Vous pouvez simplement utiliser:
<div id="GridDiv">
// gridview inside...
</div>
<a href="#GridDiv">Scroll to top</a>
Voici ce que vous pouvez faire avec jquery:
$('#A_ID').click(function (e) { //#A_ID is an example. Use the id of your Anchor
$('html, body').animate({
scrollTop: $('#DIV_ID').offset().top - 20 //#DIV_ID is an example. Use the id of your destination on the page
}, 'slow');
});
Ou, pour moins de code, dans votre clic, vous placez:
setTimeout(function(){
$('#DIV_ID').scrollTop(0);
}, 500);
Je ne sais pas pourquoi mais vous devez ajouter un setTimeout avec au moins 200ms pour moi:
setTimeout( function() {$("#DIV_ID").scrollTop(0)}, 200 );
Testé avec Firefox/Chrome/Edge.
Utilisez la fonction suivante
window.scrollTo(xpos, ypos)
Ici, xpos est requis. La coordonnée à faire défiler, le long de l'axe des x (horizontal), en pixels
ypos est également requis. La coordonnée à faire défiler, le long de l'axe des y (vertical), en pixels