Gunther: Pixel-Schubserei ...

Beitrag lesen

Hi Jens!

Im Firefox und Safari hab ich bei diesem Bsp auch keinen Versatz; gleiches trifft auch für den IE8 zu. Im IE9 (9.0.8112.16421) tritt der Versatz auf.

Um das jetzt mal "live" im IE9 zu betrachten ...

function CreateDiv(obj) {

var pos = getPosition(obj);
    var posarray = pos.split(",");
    var offset = obj.offsetHeight;
    var width = obj.offsetWidth;

/* create & define div container */
    var newdiv = document.createElement('div');
    var divIdName = 'mDivCBox';
    newdiv.setAttribute('id', divIdName);

newdiv.style.position = "absolute";
    newdiv.style.top = (parseInt(posarray[1]) + parseInt(1)) + 'px';
    newdiv.style.left = (parseInt(posarray[0]) + parseInt(1)) + 'px';
    newdiv.style.top = (parseInt(posarray[1])) + 'px';
    newdiv.style.left = (parseInt(posarray[0])) + 'px';
    newdiv.style.width = (parseInt(width)) + 'px';

newdiv.innerHTML = '<div><ul id="cdiv_ul" class="cdiv_ul"><li>first item</li><li>second item</li><li>third item</li><li>four item</li></ul></div>';

/* wrapper div container will contain our new div */
    var ni = document.getElementById('wrapper');
    ni.appendChild(newdiv);

/* add specific padding-value */
    var select_ul = document.getElementById('cdiv_ul');
    select_ul.style.marginTop = parseInt(offset) + 'px';
}

... fehlt mir hier die Funktion getPosition.  
Und dir ist auch bekannt, dass eine ID nur einmal pro Seite vorkommen darf!?  
  

> ~~~html
  

> <body>  
> <div class="wrapper">  
>   
> <div class="tablecontainer">  
> <table>  
> <thead>  
> <tr>  
> <th>Hdr1</th>  
> <th>Hdr2</th>  
> <th>Hdr3</th>  
> </tr>  
> </thead>  
> <tbody>  
> <tr>  
> <td>  
> <div class="cdiv" onclick="CreateDiv(this);">  
> <div class="cbild">  
> </div>  
> <div class="ctext">  
> <span class="as_cui_t">Auswahl:</span>  
> </div>  
> </div>  
> </td>  
> <td>  
> <div class="cdiv" onclick="CreateDiv(this);">  
> <div class="combobild">  
> </div>  
> <div class="combotext">  
> <span class="as_cui_t">Auswahl2:</span>  
> </div>  
> </div>  
> </td>  
> </tr>  
> </tbody>  
> </table>  
> </div>  
> </div>  
> </body>  
> 

Vielleicht könntest du mal deine "Absicht" erläutern, denn wenn ich mir deinen Code so angucke, habe ich immer noch die allergrößten Zweifel daran, dass er semantisch korrekt ist (bspw. wozu schon wieder diese "Divitis" innerhalb von Tabellenzellen?).

Gruß Gunther