Joachim: Mehrere Layer verbergen mit einen Mouseover?

Beitrag lesen

Hi,

Das Problem: ich habe auf einer Seite 8 kleine Icons in div-tags

warum das? Du kannst die image-tags mit css direkt formatieren.

Ich habe ein Script, was [...]

mit veralteter all/layer-syntax rumoperiert und unnötigerweise das rechenintensive eval benutzt.

Eine Moeglichkeit: erzeuge eine Collection der betreffenden Tags, loope durch diese Collection, filtere sie z.B. mit einem bestimmten class-Attribut und verfahre mit dem Rest der tags wie gewuenscht. Ein kleines Testscript zur Veranschaulichung, mit p's anstelle von image-tags:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<script type="text/javascript">
    var flag =  true;
    function dpl(el, tag, classname) {
        if (!document.getElementById) return;
        var ref     =  document.getElementById(el);
        var p       =  ref.getElementsByTagName(tag);
        for (var i = 0; i < p.length; i++) {
            if (p[i].className != classname) continue;
            p[i].style.display =  flag? "none" : "";
        }
        flag =  flag? false : true;
    }
</script>
</head>
<body>
    <div id="mydiv">
        <p class="myclass">x</p>
        <p class="myclass">y</p>
        <p class="myclass">z</p>
        <p class="myclass">1</p>
        <p class="otherclass">2</p>
        <p onclick="dpl('mydiv', 'p', 'myclass')">click &amp; verstecke</p>
    </div>
</body>
</html>

Gruesse, Joachim

--
Am Ende wird alles gut.