[RUBY] Comment guérir le scintillement de l'écran lors de la décoloration des pages avec une animation CSS

J'ai récemment introduit un fondu avec animation CSS dans une application développée personnellement. Cela fonctionne pour le moment, mais lorsque je clique dessus en continu, la page s'affiche normalement, puis l'écran devient vide pendant un moment, puis il disparaît et s'affiche. On a l'impression que ça vacille, donc ça me semble un problème, alors je l'ai guéri à la hâte parce que je devais faire quelque chose. .. Je suis un peu coincé à essayer de résoudre ce problème, alors j'aimerais le partager ici.

【environnement】

Première solution

** Tout d'abord, spécifiez display: none; '' pour l'élément scintillant. ** ** Je l'ai appliqué à l'ensemble de l'application, donc je l'ai spécifié dans l'élément body.

custom.css



body {
  display: none;
}

Puis spécifiez dans jQuery comme suit. (Comme il n'était pas nécessaire de diviser le fichier en plusieurs lignes, je l'ai écrit solidement avec haml.) Je l'ai écrit dans application.haml.haml parce que je voulais qu'il s'applique à l'ensemble de l'application.

javascript:application.html.haml



:javascript
  $('body').fadeIn(700);

Si vous n'avez pas installé jQuery, veuillez installer jQuery. Si vous recherchez une méthode détaillée, de nombreux articles apparaîtront, je vais donc l'omettre ici.

$('élément').fadeIn('temps');でフェードインさせたいようそと、temps数を指定できます。



 Au fait, j'ai fait `` display: none; '' parce que fadeIn () ne fonctionne que pour les éléments HTML cachés.

 De cette façon, le scintillement a disparu.

## Si ça ne guérit toujours pas
 Si vous cliquez une fois sur la page et qu'elle scintille à nouveau, il est possible que les turbolinks de Rails fassent quelque chose de mal.
 Il semble scintiller parce que turbolinks charge le cache avant de charger le code jQuery, puis le jQuery est chargé. ([Veuillez consulter ici pour plus de détails](https://stackoverrun.com/ja/q/10980244))

 Dans ce cas, écrivez ce qui suit dans la balise head pour désactiver les turbolinks.


#### **`haml:application.html.haml`**

%meta{:content => "no-cache", :name => "turbolinks-cache-control"}


## point important
 Dans ce cas, la page ne sera pas affichée si JavaScript est désactivé, il serait donc encore mieux si vous pouviez ajouter une classe d'animation CSS uniquement lorsque JavaScript est activé!
 Aussi, j'ajouterai ceci quand j'aurai le temps!

## Merci d'avoir lu jusqu'au bout!
 De cette façon, nous sortons ce que nous avons appris chaque jour! Je vous serais reconnaissant de bien vouloir commenter vos suggestions et impressions!




Recommended Posts

Comment guérir le scintillement de l'écran lors de la décoloration des pages avec une animation CSS
Comment générer automatiquement un diagramme ER lors de la migration avec Rails 6
Comment définir des variables d'environnement lors de l'utilisation de Payjp avec Rails
Comment spécifier la base de données lors de la création d'une application avec des rails
Comment remédier au décalage lors du lancement de Kibana japonais
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment écrire lors de l'installation d'Amazon Corretto 8 sur CentOS 8 avec Ansible.
[Rails 5] Comment afficher l'écran de changement de mot de passe lors de l'utilisation de l'appareil
Comment démarrer avec Slim
Comment entourer n'importe quel caractère avec "~"
[Rails] Comment ajouter de nouvelles pages
Comment utiliser mssql-tools avec Alpine
Comment créer un écran de démarrage
Comment démarrer Camunda avec Docker
Comment décorer CSS sur les boutons radio de rails6 form_with (helper)
Comment trouver le nombre total de pages lors de la pagination en Java
[Rails] Comment appliquer le CSS utilisé dans l'application principale avec Administrer