Bonjour à tous,
Je viens vers vous, car je sèche concernant un problème javascript avec une lightbox (videobox) via mootools.
Je m'explique :
Tout d'abord une introduction >>
J'ai une div modulable qui au survol de la souris s'agrandit et reprend sa taille initiale quand on quitte la div. Jusque là, rien de bien compliqué. 2 actions (mouseenter/mouseleave) permettant de réussir la chose avec une librairie jquery.
Dans cette div, j'ai un bouton, et quand je clique dessus, j'ai ma lightbox qui apparait. Initialement, étant donné qu'on quitte la div en ouvrant la lightbox, la div reprenait donc sont état initiale au click sur le bouton "id=openlb". Ne voulant pas de cela, et voulant que lorsque la lightbox apparaisse, ce soit comme si on était toujours dans la div, j'ai donc annulé l'effet "mouseleave" avec un "unbind" me permettant d'ouvrir ma lightbox sans que la div ne reprenne son état de base.
Le code ajouté pour le unbind du "mouseleave":
Si vous suivez jusqu'ici, c'est parfait. C'est ensuite que j'ai un problème.
Voici donc mon problème >>
Quand je ferme la lightbox à l'aide du bouton close "lbCloseLink", il se trouve que vu que j'ai annulé l'effet "mouseleave" pour fermer la div, la div reste ouverte. Je voudrais donc
réactiver l'effet "mouseleave" et donc désactiver l'effet "unbid" que j'avais mis lors de l'ouverture, à la fermeture de cette lighbox, soit au click sur le bouton close de la lighbox.
Pour celà, il me faut donc ajouter une action sur ce bouton de la lightbox.
Seulement, je ne sais pas comment m'y prendre !
J'ai deux bouts de code que je suspecte faire le boulot mais je ne sais quoi rajouter et où ?!
ou alors
voici le fichier concerné :
http://videobox-lb.sourceforge.net/js/videobox.js
Merci d'avance pour votre aide.
Je suis sûr que c'est tout bête, mais je ne suis pas pro en javascript, et j'ai du mal à décrypter ce fichier videobox.js
Je viens vers vous, car je sèche concernant un problème javascript avec une lightbox (videobox) via mootools.
Je m'explique :
Tout d'abord une introduction >>
J'ai une div modulable qui au survol de la souris s'agrandit et reprend sa taille initiale quand on quitte la div. Jusque là, rien de bien compliqué. 2 actions (mouseenter/mouseleave) permettant de réussir la chose avec une librairie jquery.
Dans cette div, j'ai un bouton, et quand je clique dessus, j'ai ma lightbox qui apparait. Initialement, étant donné qu'on quitte la div en ouvrant la lightbox, la div reprenait donc sont état initiale au click sur le bouton "id=openlb". Ne voulant pas de cela, et voulant que lorsque la lightbox apparaisse, ce soit comme si on était toujours dans la div, j'ai donc annulé l'effet "mouseleave" avec un "unbind" me permettant d'ouvrir ma lightbox sans que la div ne reprenne son état de base.
Le code ajouté pour le unbind du "mouseleave":
$("#openlb").click(function(){
$('id-de-la-div-modulable-parente').unbind('mouseleave');
});
Si vous suivez jusqu'ici, c'est parfait. C'est ensuite que j'ai un problème.
Voici donc mon problème >>
Quand je ferme la lightbox à l'aide du bouton close "lbCloseLink", il se trouve que vu que j'ai annulé l'effet "mouseleave" pour fermer la div, la div reste ouverte. Je voudrais donc
réactiver l'effet "mouseleave" et donc désactiver l'effet "unbid" que j'avais mis lors de l'ouverture, à la fermeture de cette lighbox, soit au click sur le bouton close de la lighbox.
Pour celà, il me faut donc ajouter une action sur ce bouton de la lightbox.
Seulement, je ne sais pas comment m'y prendre !
J'ai deux bouts de code que je suspecte faire le boulot mais je ne sais quoi rajouter et où ?!
new Element('a').setProperties({id: 'lbCloseLink', href: '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
ou alors
close: function(){
this.fx.overlay.start(0);
this.center.style.display = this.bottomContainer.style.display = 'none';
this.center.innerHTML = '';
return false;
}
voici le fichier concerné :
http://videobox-lb.sourceforge.net/js/videobox.js
Merci d'avance pour votre aide.
Je suis sûr que c'est tout bête, mais je ne suis pas pro en javascript, et j'ai du mal à décrypter ce fichier videobox.js