







|
|
|
 |
| > Recherche une fonction de transition |
[ Posté par Vieillefee ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-10-2008 à 15:44 | 1 messages ]
  Bonjour,
Je construits (ou du moins j'essaie !) un site avec Joomla 1.0.15, et j'ai ajouté sur ce site le module Yoodrawer, visible ici :http://tools.yootheme.com/yootools/extensions/yoodrawer.html
Comme vous pouvez le voir sur la démo, quand on ouvre un item en passant dessus avec la souris, l'item reste ouvert une fois qu'on dirige la souris ailleurs.
J'aimerais énormément pouvoir trouver la modif à faire pour que l'item que l'on a ouvert en passant dessus se referme automatiquement une fois que le pointeur de la souris s'en va, et que le module revienne donc avec le premier item visible.
J'ai cherché dans les cours proposés sur ce site sans succès.
j'ai trouvé un fichier .js au sein de ce module, mais là je ne sais pas du tout l'interpréter.
J'ai essayé de modifier la ligne
| transition: Fx.Transitions.Expo.easeout |
|
avec d'autres fonctions de transitions mais je me rends compte que ça ne change juste que l'effet de transition, mais sans faire de "retour arrière" au 1er item. Bon..après j'ai surement pu me tromper.
Voici le contenu du .js :
var YOOdrawer = new Class({
initialize: function(wrapper, items, options) {
this.setOptions({
layout: 'vertical',
itemstyle: 'top',
shiftSize: 50,
transition: Fx.Transitions.Expo.easeOut
}, options);
this.wrapper = $(wrapper);
this.items = $$(items);
this.fx = new Fx.Elements(this.items, {wait: false, duration: 600, transition: this.options.transition });
if (this.options.layout != 'vertical') this.options.itemstyle = 'left';
var pos = {};
this.items.each(function(item, i) {
pos[i] = item.getStyle(this.options.itemstyle).toInt();
item.addEvent('mouseenter', this.itemFx.bind(this, [pos, item, i]));
}, this);
},
itemFx: function(pos, item, i) {
var o = {};
item.addClass('active');
this.items.each(function(other, j) {
var s = other.getStyle(this.options.itemstyle).toInt();
if (j >= i) {
if (s != pos[j]) o[j] = this.itemStyle(s, pos[j]);
} else {
if (s != pos[j] - this.options.shiftSize) o[j] = this.itemStyle(s, pos[j] - this.options.shiftSize);
}
if (j != i) {
other.removeClass('active');
}
}, this);
this.fx.start(o);
},
itemStyle: function(startVal, endVal) {
if (this.options.layout == 'vertical') { return {top: [startVal, endVal]}; } else { return {left: [startVal, endVal]}; }
}
});
YOOdrawer.implement(new Options); |
|
Quelqu'un d'ici pourrait-il m'aider sur ce problème ?
Merci d'avance
  |

|
|
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|