smooth scroll to top
J'ai bean la recherche de ce pour quelques heures maintenant et je n'ai pas de solution. Je veux une lisse de défilement vers le haut de la page. J'ai déjà défilement lisse pour séparer les ancres dans la page avec un .js
fichier attatched pour mon site, mais je ne peux pas utiliser un point d'ancrage pour le haut, parce que je suis en utilisant un modèle à partir d'un hébergement gratuit de site avec construit dans la page outils de construction qui ne me permet pas de le modifier au-dessus de la zone de votre corps.
Ici's où j'ai eu le défilement lisse. J'ai essayé de mettre en place des "douceur de défilement-pour-un-element-sans-un-jquery-plugin" mais je n'ai aucune idée de comment arranger ça, évidemment, après d'innombrables tentatives. J'ai aussi utilisé window.scrollTo(0, 0);
mais ça défile instantanément. Merci!
En outre:
http://jsfiddle.net/WFd3V/ - le code serait probablement la balise class="smoothScroll"
depuis mon autre élément utilise, mais je ne sais pas comment mixer avec le href="javascript:window.scrollTo(0,0);"
, ou quoi que ce soit d'autre qui allait amener la page vers le haut, sans un point d'ancrage.
- Veuillez prendre un coup d'oeil à ma réponse sur défilement lisse avec du js
- plus simple: onclick="window.scrollTo({ top: 0, comportement: "lisse"});"
Vous devez vous connecter pour publier un commentaire.
Voici ma proposition de mise en œuvre avec ES6
Astuce: pour une trajectoire plus lente de la vitesse de défilement, augmenter le nombre codé en dur
8
. Plus le nombre - plus lent, la vitesse de défilement.const smoothness = 8; let val = s - s / smoothness; if (val < smoothness) val = 0; window.scrollTo(0, val);
Le problème a disparu mais il a peu de saut effet en raison deval = 0;
Je pense que la solution la plus simple est:
Si vous voulais instantanée de défilement, utilisez:
Peut être utilisé comme une fonction:
Ou en tant que gestionnaire onclick:
Vous devriez commencer à utiliser jQuery ou une autre lib js. C'est plus facile que js, et vous pouvez l'utiliser comme une abréviation pour la plupart des js au lieu de réellement long, tirés js.
Simplement mettre
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
(ou de ce que les dernières versions de google cdn est https://developers.google.com/speed/libraries/devguide#jquery) dans votre<head>
.Puis, à l'intérieur de votre
event
code (beaucoup plus facile si vous utilisez jQuery:$.click()
pour les boutons,$.change()
pour les cases à cocher, les sélectionne, les radios...), mettez le code de votre deuxième lien à la recherche de plus commeToutefois, si vous essayez de faire les animations, je vous recommande de rechercher dans la base des propriétés css comme
position:absolute
etposition:relative
pour éviter de devenir fou.Je ne suis pas encore tout à fait sûr de ce qu'il se passe dans votre code, car il est très non-standard par rapport à la façon dont les choses sont faites maintenant avec css & jQuery. J'avais de le transformer en quelque chose de simple à apprendre le concept général.
Pour votre exemple, vous devez construire hors de mon animation exemple, comment j'ai appris: https://stackoverflow.com/a/12906254/1382306
Je pense que vous essayez de déplacer votre texte vers le haut ou vers le bas selon un
$.click()
. Dans le violon dans ma réponse, elle lui glisse à gauche et à droite. Vous pouvez facilement reformater en haut et en bas à l'aide de la csstop
de la propriété au lieu deleft
.Une fois que vous comprendre comment déplacer la totalité de la
div
en haut et en bas, vous pouvez faire unrelative
récipient pour contenir tout le contenuabsolute
div
s et de manipuler tout le contenudiv
s avec une boucle en définissant leurstop
s. Voici un petit aperçu sur l'absolute
dansrelative
: http://css-tricks.com/absolute-positioning-inside-relative-positioning/Toutes mes animations ont
relative
conteneurs etabsolute
de contenu. C'est ainsi que j'ai fait une coutume gridview plugin qui peut instantanément zip à travers une base de données entière.Aussi, il n'y a vraiment pas de surconsommation de
div
s quand il s'agit de l'animation. Essayer de faire 1div
faire tout ce qui est un cauchemar.Essayez de voir si vous pouvez le reformater mon violon dans un coulissant à la verticale. Une fois que vous avez fait cela, la recherche
absolute
dansrelative
un peu. Si vous avez plus de problèmes, juste poser une autre question.Changer votre façon de penser à ces philosophies, et vous allez commencer à voler à travers ce type de codage.
$("body").animate({scrollTop:0});
<sript src
's et les<a class="smoothScroll"
. Peut-être que je devrais ouvrir une nouvelle page d'une question.<a name>
balise uniquement lien de ma page pour séparer les ancres qui la vue de défilement fluide et le code que j'ai utilisé pour résoudre mon problème de ne pas être en mesure de code en haut de la page, était un parent de pixel relocator:<a name="home" style="position:relative; top:-524px;">
. Peut-être que ce n'est pas ce que j'ai d'abord été vue, mais j'imagine que ça fonctionne mieux que la perfection. Bonne chance à tous et merci à vous.Pur Javascript ne
JS:
CSS:
HTML:
Hmm coment funtion pour moi,
essayer cette
JS:
CSS:
HTML:
Vous pouvez simplement utiliser
JS:
CSS:
HTML:
Peu de temps a passé depuis que cela a été demandé.
Maintenant, il est possible non seulement de spécifier le numéro de la fenêtre.fonction de défilement, mais aussi passer d'un objet à trois propriétés: en haut, à gauche et le comportement. Si donc nous aimerions avoir un défilement fluide avec JavaScript natif, nous pouvons maintenant faire quelque chose comme ceci:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll
Je viens personnalisé BootPc Deutschland la réponse de
Vous pouvez simplement utiliser
cela vous aidera à faire défiler en continu vers le haut de la page.
et pour le style
ce style rend le bouton d'arriver dans le coin inférieur droit de la page.
et dans votre page, vous pouvez ajouter le bouton pour revenir en haut de page comme ceci
espère que cela vous aidera.si vous avez des doutes, vous êtes toujours libre de me demander
également utilisé ci-dessous: