J'utilise le framework CSS bootstrap de Twitter (ce qui est fantastique). Pour certains messages aux utilisateurs, je les affiche en utilisant les alertes Javascript JS et CSS.
Pour ceux qui sont intéressés, il peut être trouvé ici: http://getbootstrap.com/javascript/#alerts
Mon problème est le suivant; après avoir affiché une alerte à un utilisateur, j'aimerais qu'elle disparaisse après un certain temps. D'après la documentation de Twitter et le code que j'ai parcouru, il semble que cela ne soit pas intégré:
- Ma première question est une demande de confirmation que ce n'est en effet PAS cuit dans Bootstrap
- Deuxièmement, comment puis-je obtenir ce comportement?
javascript
jquery
css
twitter-bootstrap
alert
Mario Zigliotto
la source
la source
Réponses:
L'appel
window.setTimeout(function, delay)
vous permettra d'accomplir cela. Voici un exemple qui fermera automatiquement l'alerte 2 secondes (ou 2000 millisecondes) après son affichage.Si vous voulez l'envelopper dans une fonction astucieuse, vous pouvez le faire.
Ensuite, vous pouvez l'utiliser comme ça ...
Je suis certain qu'il existe des moyens plus élégants pour y parvenir.
la source
$('#myAlert').alert('close')
ne fonctionne pas comme annoncé.$('#my_fancy_alert').createAutoClosingAlert(2000)
. Vous avez juste besoin de passer$(this).remove()
ou$(this).alert('close')
ensetTimeout
rappel.Je n'ai pas pu le faire fonctionner avec alert. ('Close') non plus.
Cependant, je l'utilise et cela fonctionne un régal! L'alerte disparaîtra après 5 secondes, et une fois partie, le contenu en dessous glissera jusqu'à sa position naturelle.
la source
.alert-message
? Ayant du mal à la classe sur mon alerte BS3 estalert alert-danger alert-block
, donc devrais - je utiliser.alert
,alert-danger
ou le nom complet de la classe dans la fonction de délai d' attente?$(".alert-message,.alert-danger,.alert-info")
et ainsi de suite. Vous devez déterminer si vous le souhaitez dans tout votre site Web ou non. Si vous le souhaitez dans chaque page, par exemple, dans la lame de Laravel, vous pouvez utiliser quelque chose comme @include ('scripts-alertes') ou @yield ('alertes'). Vous devez comprendre ou poser une question spécifique dans stackoverflow et pas ici ...J'ai eu ce même problème en essayant de gérer les alertes popping et de les atténuer. J'ai cherché dans divers endroits et j'ai trouvé que c'était ma solution. L'ajout et la suppression de la classe «in» a résolu mon problème.
Lors de l'utilisation de .remove () et de la même manière la solution .alert ('close'), j'ai semblé rencontrer un problème avec l'alerte supprimée du document, donc si je voulais utiliser à nouveau le même div d'alerte, je ne pouvais pas. Cette solution signifie que l'alerte est réutilisable sans actualiser la page. (J'utilisais aJax pour soumettre un formulaire et présenter des commentaires à l'utilisateur)
la source
L'utilisation de l'action `` fermer '' sur l'alerte ne fonctionne pas pour moi, car elle supprime l'alerte du DOM et j'ai besoin de l'alerte plusieurs fois (je publie des données avec ajax et j'affiche un message à l'utilisateur sur chaque message) . J'ai donc créé cette fonction qui crée l'alerte à chaque fois que j'en ai besoin, puis démarre une minuterie pour fermer l'alerte créée. Je passe dans la fonction l'identifiant du conteneur auquel je souhaite ajouter l'alerte, le type d'alerte ('succès', 'danger', etc.) et le message. Voici mon code:
la source
Voici la version coffescript:
la source
Avec chacune des solutions ci-dessus, j'ai continué à perdre la réutilisation de l'alerte. Ma solution était la suivante:
Au chargement de la page
Une fois que l'alerte devait être affichée
Notez que fadeTo définit l'opacité sur 0, donc l'affichage était nul et l'opacité était de 0, c'est pourquoi j'ai supprimé de ma solution.
la source
Après avoir passé en revue certaines des réponses ici et dans un autre fil, voici ce que j'ai obtenu:
J'ai créé une fonction nommée
showAlert()
qui ajouterait dynamiquement une alerte, avec untype
et facultatifcloseDealy
. Pour que vous puissiez, par exemple, ajouter une alerte de typedanger
(ie, l'alerte-danger de Bootstrap) qui se fermera automatiquement après 5 secondes comme ceci:Pour y parvenir, ajoutez la fonction Javascript suivante:
la source
J'avais besoin d'une solution très simple pour cacher quelque chose après un certain temps et j'ai réussi à faire fonctionner cela:
En angulaire, vous pouvez faire ceci:
Voici la fonction que j'appelle lorsque le timeout est atteint
Alors maintenant, ma boîte de dialogue / interface utilisateur peut utiliser ces propriétés pour masquer des éléments.
la source
Avec retard et fondu:
la source
essaye celui-là
la source