Votre code ici...Bonjour,

J'ai un petit soucis avec la mise en place d'animation sur un site web.
J'aimerai mettre en place des transitions entre l'affichage des pages. En cliquant sur un élément du menu, j'aimerai que la page en cours "sorte" par la gauche et que la page demandée "entre" par le droite.

Je suis arrivée à faire entrer la page par la droite, mais je n'arrive pas a faire sortir la précédente...
Quelqu'un à une idée?

Voici mon code pour l'affichage par la droite:

HTLM : <div id="byRight"></div>
CSS : 
#byRight
{
    background-color:black;
    opacity: 0.8;
    width: 75%;
    position: relative;
    min-height: 400px;
}
SCRIPT:
var currentElt;
// Fonction arrivée des pages par la droite
var byRight = function(element)
{
    var startLeft = $( document ).width()+"px";
    $(currentElt).hide();
    currentElt = element;
    $(element).css('left', startLeft);
    $(element).show();
    $(element).animate({left: 30}, 
                        1000, 
                        function(){console.log("complete");
    });
};
$(document).ready(function(){
    byRight($("#byRight"));
});

Donc ce code fonctionne pour afficher par la droite la page demandée (en cliquant sur l'élément du menu), mais je n'arrive pas à trouver pour faire sortir par la gauche la page précédente....

Merci par avance.

(exemple de page faisant ce que je cherche : http://fr.wix.com/website-template/view/html/774?originUrl=400 )

5 réponses


Vallyan
Réponse acceptée

http://jsfiddle.net/Z45sY/

  • Ajouté le bouton dans l'html pour mimer le lien de changement de page
  • Changé le scope de la variable startLeft dans le JS (ligne 2)
  • Ajouté lignes 21 a 27 dans le JS
  • A toi de faire la re-location dans le callback ligne 25

Bonjour,

Désolé mais il est compliqué d'accéder à ta demande avec les éléments donnés,
Il nous faudrait un peu plu de code genre un jsfiddle qu'on voit ce qui ne roule pas
De ce que je voit ici il n'y a qu'une seul div dans ton html aussi je suppose qu'il y a plus de code que ça.

Bref dis nous en plus :)

Tiflocon
Auteur

Bonjour,

Voici un jsfiddle qui montre ce que j'arrive à faire (code simplifié) : http://jsfiddle.net/6HBcy/2/

En faite le carré bleu représente une page. Sur chacune de mes page j'ai une div avec l'id byRight (je n'ai pas mis tout le code car ce n'est que du contenu dedans).
Donc comme tu peux voir, j'arrive à faire rentrer "ma page" par la droite" et j'aimerai pouvoir la faire sortir par la gauche lorsque je clique sur un élément de menu (avant que la nouvelle page 'arrive').

Est-ce mieux comme ça? :)

Tiflocon
Auteur

Oh c'est super !!!!

Merci beaucoup!
(Pour la redirection c'est bien window.location.href = "page-a-charger", qu'on utilise ?)

ouep !