2010-08-09 6 views
3

J'ai un script simple à disparaître dans la page d'accueil du site, quelque chose comme:jQuery: la décoloration dans une page Web une seule fois

jQuery(document).ready(function(){  
    $('body.home').hide(); 
    $('body.home').fadeIn('slow'); 
}); 

Cependant, je voudrais que le script fonctionne qu'une seule fois, une fois que la site Web charge initialement. Lors de clics ultérieurs lorsque, disons, un internaute accède à une page secondaire puis revient à la page d'accueil, je ne souhaite pas que la page d'accueil apparaisse de nouveau, cela devrait être le chargement de la page d'accueil sans fondre.

Existe-t-il un moyen de le faire avec juste du code jQuery, peut-être d'une manière ou d'une autre n'exécuter la fonction qu'une seule fois et l'empêcher ensuite d'être exécuté? Tous les conseils et les extraits de code seront grandement appréciés!

+0

Voulez-vous que cette Fadein se produisent une fois par "session de navigation", ou juste la première fois qu'ils visitent le site (c'est-à-dire, s'ils reviennent un mois plus tard, toujours pas de fadein ...)? – jmar777

Répondre

0

Si vous chargez « autres parties » de votre site uniquement AJAX appels, vous pouvez stocker une valeur dans l'espace de noms javascript global qui indique simplement que vous avez déjà exécuté cette action.

Sinon, vous effectuez une actualisation complète de la page (redirection vers un autre site) il n'y a pas de solution javascript propre. Dans ce cas, vous devez stocker un cookie, utiliser le local storage ou lancer le script de votre serveur.

+0

Je vois. J'espérais juste qu'il y aurait un moyen d'arrêter la fonction de répéter l'exécution afin qu'il n'y ait pas de fondu pendant la session de navigation actuelle, mais je vois ce que vous dites à propos d'une 'actualisation complète de la page'. Je suppose que le réglage du cookie serait la seule solution. Merci a tous! – ninusik

8

Vous pouvez définir un cookie.

$(function() { 
    if ($.cookie("loaded") != "true") { 
     $('body.home').hide().fadeIn('slow'); 
     $.cookie("loaded", "true"); 
    } 
}); 
1

vous pouvez plonger dans le monde de php et vérifier si une session existe, s'il n'y en pas un .. fondu. je pouvais poster un code si vous voulez aller dans cette voie

A lecture rapide si votre nouveau au PHP et sessions: http://www.tizag.com/phpT/phpsessions.php

Questions connexes