11550 sujets

JavaScript, DOM et API Web HTML5

Modérateur
Salut,

Tu peux ajouter un élément script dans ton head qui contient :
<script type="text/javascript" src="loadModules.js"></script>


loadModules.js
(function() {

    var _addEvent = function(oEl, sEvType, fn, bCapture) { 
        return document.addEventListener ? 
            oEl.addEventListener(sEvType, fn, bCapture || false): 
            oEl.attachEvent ? 
                oEl.attachEvent('on' + sEvType, fn): 
                false; 
    };

    _addEvent(window, 'load', function() {
        new Accrodian(’my-menu’,5,’heighlight’);
    });

})();
Malheureusement ca ne fonctionne pas Smiley ohwell

j'ai un problème qui est général en fait avec tous les accordeons que j'utilise, en fait je dois en afficher 2 différents dans 2 div différentes. Je fais le choix de ma div avec 2 boutons radio comme ceci :


<p><input type="radio" name="motif" value="Oui" onclick="radioclick(true);" />Oui</p>
<p><input type="radio" name="motif" value="Non" onclick="radioclick(false);" />Non</p>


function radioclick (b) {
    document.getElementById('div1').style.display = (b? 'block':'none');
    document.getElementById('div2').style.display = (b? 'none':'block');
}


Dès que je met un accordeon dans une div il y toujours un problème ^^
Je ne comprend pas car je le met simplement dans une div je ne touche pas au js Smiley confus

Encore merci pour ta réponse Smiley smile
Modérateur
Tobear91 a écrit :
Malheureusement ca ne fonctionne pas Smiley ohwell
Si, si, je t'assure. Smiley cligne

C'est plutôt que tu commences par décrire un problème puis que tu pars sur un autre totalement différent. Smiley jap
Autant pour moi j'avais une erreur de frappe ... j'ai d'ailleurs failli me frapper la tête contre le mur ^^

Merci beaucoup de ton aide Smiley biggrin

Mais voila il y a un truc qui se passe, j'utilise ce système pour affficher mes DIV :


<script type="text/javascript">
    function radioclick (b) {
        document.getElementById('div1').style.display = (b? 'block':'none');
        document.getElementById('div2').style.display = (b? 'none':'block');
    }
</script>

<div id="radio">
<p><input type="radio" name="motif" value="Oui" onclick="radioclick(true);" />Oui</p>
<p><input type="radio" name="motif" value="Non" onclick="radioclick(false);" />Non</p>
</div>


quand je met mon accordeon hors de mes div il fonctionne, et lorsque que j'en insère un dans ma première et l'autre dans ma deuxième, il sont visible mais impossible de dérouler l'accordeon ?? Smiley fache

Est ce que c'est pas le "display : block " qui en serait la cause ?

Merci Smiley biggrin
Modifié par Tobear91 (23 Sep 2010 - 09:47)
Modérateur
Salut,

Tobear91 a écrit :
Est ce que c'est pas le "display : block " qui en serait la cause ?
Non, du tout.

Je viens de faire, vite fait, un petit test reprenant ce que tu cherches à faire et je n'ai pas de soucis.

En revanche, dans l'article, il y a des erreurs donc il faut faire attention...

As-tu bien fait "new Accordian" et non "new Accrodian" ?

Par ailleurs, si tu en mets 2, il faut que tes id, dans chacun de tes blocs, soient radicalement différents car le script est mal fichu... Un truc du genre "menu" et "menu2" fait que le 2nd bloc... débloque ! (parce qu'il traite mal les chaînes de caractères)
Par contre, avec des id du type "titi" et "grosminet", ça passe. Smiley ravi

Ceci mis à part, j'ai comme l'impression que tu n'as pas prévu le comportement sans Javascript... Smiley rolleyes