11548 sujets

JavaScript, DOM et API Web HTML5

Pages :
Alors un autre soucis, les autres liens ne marchent plus dans la page puisqu'il y dans ton script un attribut href je suppose.


et pour appliquer un effet de fondu ou autre ou puis je regarder ?

Merci en tout cas de la réponse hyper rapide...
Modifié par Gazza (04 Feb 2010 - 15:26)
Gazza a écrit :
Alors un autre soucis, les autres liens ne marchent plus dans la page puisqu'il y dans ton script un attribut href je suppose.

Merci d'y mettre un peu du tiens, le forum sert avant tout à apprendre! La question que tu poses ici est exactement la même que celle résolue précédemment, à toi de faire l'effort d'y réfléchir un minimum…
Oui bien sur. je débute vraiment, le pb c'est que je ne comprends pas le sens du code en js que tu m'as donné.

alors j'ai essayé de faire ça :


<script>
  $(function(){
    var divs = $(".toggle");
    divs.not("#box1").hide();
    $("a").click(function(){
      divs.filter(":visible").hide();
      $($(this).attr(".more")).show();
      return false;
    });
  });
</script>




<a href="#box1" class="more">Cliquer ici</a>
Merci Ben c'est super,

Si tu as le temps tu pourrais me commenter ton code pour que j'essaye de comprendre ?

En fait j'essaye d'appliquer un effet

.slideUp("slow")


Mais je ne sais pas à quelle fonction l'attribuer.

Et au chargement de la page les 3 blocs s'affichent succinctement je pense qu'il faut que je une fonction onload .

Merci à tous
Modifié par Gazza (05 Feb 2010 - 10:04)
// Une fois le DOM chargé:
$(function(){

  // On stocke dans une variable tous les éléments avec une classe "boxes"
  // ainsi que la vitesse de transition de l'animation.
  var divs = $(".boxes"), speed = 400;

  // On cache tous ces divs sauf le premier.
  divs.not("#box1").hide();

  // Au clic sur les éléments portant la classe "more":
  $(".more").click(function(){

    // On récupère l'attribut href du lien cliqué
    var idToShow = $(this).attr("href");

    // On fait un slideUp sur le div affiché
    divs.filter(":visible").slideUp(speed, function(){

      // À la fin de l'animation, on fait apparaître le div avec l'identifiant
      // représenté par la variable idToShow
      $(idToShow).slideDown(speed);
    });

    // On annule l'action par défaut du lien (suivre la cible)
    return false;

  });

});
J'ai une autre question Ben, comment faire pour qu'une URL pointe directement vers un bloc ?

Le pb c'est que le script fait afficher par défaut le premier bloc et si on fait un lien vers : page.html#box3 ça affichera le premier bloc, tu as une idée ?
Il faut utiliser une ancre nommée non ?

Si tu met une ancre sur le liens sa devrai cadrer ta page sur le bloc.
Pages :