11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,


$(document).ready( function() {
	$("#bienvenue_image").delay(2000).show(6000);
});


2 secondes après le chargement du DOM une image (#bienvenue_image) s'affiche.
Je ne voudrais pas que cette fonction se répète au re-chargement de cette même page, comment faire?

Merci de votre aide
Modifié par moll (15 Feb 2013 - 16:13)
le mieux pour ca à mon sens c'est une session en php à vrai ou faux initialisée à false.
quand t'es allé sur la page pour la première fois tu remplis une session à true
et dans ta page tu ajoutes le javascript dans un if() que si la session est à false.
ainsi quand on recharge il n'y aura pas ce javascript chargé.

genre:

<?php
if(!isset($_SESSION['bienvenue'])){
?>
<script>
ton script JS
</script>
<?
$_SESSION['bienvenue'] = true;
}
?>

par exemple.
Modifié par canvasdev (16 Feb 2013 - 12:24)
En fait, mélanger aussi directement php et javascript est une mauvaise idée. Ça marche, mais ça produit un code extrêmement indigeste et dur à maintenir.

Le mieux serait de passer par un cookie pour faire la même manipulation, mais pouvoir le faire entièrement en javascript.
c'est vrai, suivant la complexité du truc le code peut vite devenir indigeste surtout à la relecture longtemps après.
Modifié par canvasdev (17 Feb 2013 - 00:44)
Toujours pas possible de le faire en JQuery (avec "unbind") ?
Modifié par moll (17 Feb 2013 - 08:49)
moll a écrit :
Toujours pas possible de le faire en JQuery (avec "unbind") ?

Non puisqu'il s'agit d'un rechargement de ta page.
Ton code s'exécute donc à chaque fois.
Sauf si cookie ou session ou autre chose d'enregistré lors de la première visite...

tm