IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

"Fancy Menu" avec Mootools


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut "Fancy Menu" avec Mootools
    Bonjour,

    Pour commencer toutes mes excuses si le post n'est pas dans la bonne partie mais je dois dire que j'hésite pas mal entre les catégories

    J'ai un soucis avec un Fancy Menu qui fonctionne avec Mootools, je l'ai fait en suivant ce tutoriel http://devthought.com/cssjavascript-...er-fancy-menu/ .

    Au début j'avais un problème car les liens étaient cliquable mais ne fonctionné pas.

    Pour résoudre le problème j'ai changé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       1.  window.addEvent('domready', function() {
       2. new SlideList($E('ul', 'fancymenu'), {transition: Fx.Transitions.backOut, duration: 700, onClick: function(ev, item) { ev.stop(); }});
       3. });
    Par celui ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    window.addEvent('domready', function() {
    	// orange menu demo
    	if($('fancymenu'))
    		FancyExample = new SlideList($E('ul', 'fancymenu'), {transition: Fx.Transitions.backOut, duration: 700});
    });
    Maintenant les liens fonctionnent parfaitement mais le "background" reste toujours derrière le liens accueil et je n'arrive pas a trouver de solution, alors si quelqu'un peut m'aider ça serait bien gentil.

    Voilà le code complet :

    menu.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    var SlideList = new Class({
    initialize: function(menu, options) {
    this.setOptions(this.getOptions(), options);
    this.menu = $(menu), this.current = this.menu.getElement('li.current');
    this.menu.getElements('li').each(function(item){
    item.addEvent('mouseover', function(){ this.moveBg(item); }.bind(this));
    item.addEvent('mouseout', function(){ this.moveBg(this.current); }.bind(this));
    item.addEvent('click', function(event){ this.clickItem(event, item); }.bind(this));
    }.bind(this));
     
    this.back = new Element('li').addClass('background').adopt(new Element('div').addClass('left')).injectInside(this.menu);
    this.back.fx = this.back.effects(this.options);
    if(this.current) this.setCurrent(this.current);
    },
     
    setCurrent: function(el, effect){
    this.back.setStyles({left: (el.offsetLeft)+'px', width: (el.offsetWidth)+'px'});
    (effect) ? this.back.effect('opacity').set(0).start(1) : this.back.setOpacity(1);
    this.current = el;
    },
     
    getOptions: function(){
    return {
    transition: Fx.Transitions.sineInOut,
    duration: 500, wait: false,
    onClick: Class.empty
    };
    },
     
    clickItem: function(event, item) {
    if(!this.current) this.setCurrent(item, true);
    this.current = item;
    this.options.onClick(new Event(event), item);
    },
     
    moveBg: function(to) {
    if(!this.current) return;
    this.back.fx.custom({
    left: [this.back.offsetLeft, to.offsetLeft],
    width: [this.back.offsetWidth, to.offsetWidth]
    });
    }
    });
     
    SlideList.implement(new Options);
    main.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    window.addEvent('domready', function() {
    	// orange menu demo
    	if($('fancymenu'))
    		FancyExample = new SlideList($E('ul', 'fancymenu'), {transition: Fx.Transitions.backOut, duration: 700});
    });


    Merci d'avance !

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Aucune idée ? ou manque d'info ?

Discussions similaires

  1. [MooTools] Menu avec Mootools !
    Par piika dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 07/03/2010, 03h35
  2. [MooTools] Menu avec background defilant en Mootools
    Par dansum dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 24/08/2009, 18h47
  3. [MooTools] [js][Phatfusion][menu avec largeurs fixes]
    Par 28ToM47 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 17/04/2009, 18h35
  4. souci avec le fancy menu
    Par eilijah dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/09/2008, 09h46
  5. [FLASH MX2004] Problème de menu avec explorer
    Par lyne dans le forum Flash
    Réponses: 2
    Dernier message: 24/08/2004, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo