op deze url staat een pagina met daarop een dynamisch cursisten-boten verdeel systeempje.
nu heb ik een groot deel aan het werk en kon ik al cursisten en instructeurs vanuit de rechter zijde verslepen naar de twee verschillende plekjes per boot: een instructeur gebied en een cursist gebied en dmv functies kijk ik of het een instructeur of cursist is.
een boot bestaat grofweg uit de volgende divjes:
als ik een cursist vanuit de rechter zijde van het systeem versleep naar de cur drop dan laat ik hem door:
en gaat alles goed. Ik kan hem daarna weer optillen en verplaatsen.
so far so good... maar
uiteraard zijn er bijvoorbeeld al eens instructeurs toegewezen en opgeslagen in de database. Ik laat eerst het script draaien; en daarna ga ik met de volgende functie een divje maken: een instructeurs ding:
vanwege een ietwat gecompliceerd samenhangend iets (de id van de div die moet uniek zijn) word uiteindelijk bij:
document.getElementById(deid).appendChild(nieuweINST)
het ding wederom gekoppeld.
op eenzelfde soort manier als bij de dropitems functie.
MAAR nu komt het probleem.
de instructeur toegevoegd door de laatste functie lijkt vast te zitten in zijn containing divje. Terwijl een nieuwe instructeur uit de rechter kant gewoon versleept kan worden.... Hoe kan dat?
Als je kijkt op deze url dan zie je dat aan de linker kant twee instructeurs reeds ingedeeld zijn, boe2 en boe14 als je deze probeert weg te slepen dan zie je scrollbars. Daarentegen de boe's aan de rechterkant die hebben dat niet.
komt het doordat ze in drie divjes zitten en de rechter niet?
komt het door de CSS?
ze zijn op eenzelfde soort manier opgebouwd dus opzich zou dat niet uit moeten maken... toch?
dit is de broncode: bootindeling.php en de gelinkte JS ik hoop dat jullie me kunnen helpen want ik zit in een cirkeltje te werken!
thanx
nu heb ik een groot deel aan het werk en kon ik al cursisten en instructeurs vanuit de rechter zijde verslepen naar de twee verschillende plekjes per boot: een instructeur gebied en een cursist gebied en dmv functies kijk ik of het een instructeur of cursist is.
een boot bestaat grofweg uit de volgende divjes:
HTML:
1
2
3
4
5
6
| <div> <div id=instr_drop45> </div> <div id=cur_drop45> </div> </div> |
als ik een cursist vanuit de rechter zijde van het systeem versleep naar de cur drop dan laat ik hem door:
JavaScript:
1
2
3
4
5
6
7
| function dropItems(idOfDraggedItem,targetId,x,y) { var targetObj = document.getElementById(targetId); var sourceObj = document.getElementById(idOfDraggedItem); //grafisch koppelen targetObj.appendChild(sourceObj); } |
en gaat alles goed. Ik kan hem daarna weer optillen en verplaatsen.
so far so good... maar
uiteraard zijn er bijvoorbeeld al eens instructeurs toegewezen en opgeslagen in de database. Ik laat eerst het script draaien; en daarna ga ik met de volgende functie een divje maken: een instructeurs ding:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| function maakInstructeurDiv(I_ID, jz, kb, zwb, waar){ nieuweINST = document.createElement("div"); nieuweINST.innerHTML = 'boe'+I_ID; nieuweINST.className = 'INSTdragableBox'; nieuweINST.setAttribute('id','ins'+I_ID); nieuweINST.setAttribute('jz',jz); nieuweINST.setAttribute('kb',kb); nieuweINST.setAttribute('zwb',zwb); alledivs = document.getElementsByTagName('div') for(i=0;i<alledivs.length; i++){ if(alledivs[i].getAttribute('bootid') == waar){ //kijken naar de ID naam if(alledivs[i].getAttribute('id').indexOf('instr_drop')){ }else{ //we zitten goed!! deid = alledivs[i].getAttribute('id'); //alert(deid) document.getElementById(deid).appendChild(nieuweINST) }; } }; |
vanwege een ietwat gecompliceerd samenhangend iets (de id van de div die moet uniek zijn) word uiteindelijk bij:
document.getElementById(deid).appendChild(nieuweINST)
het ding wederom gekoppeld.
op eenzelfde soort manier als bij de dropitems functie.
MAAR nu komt het probleem.
de instructeur toegevoegd door de laatste functie lijkt vast te zitten in zijn containing divje. Terwijl een nieuwe instructeur uit de rechter kant gewoon versleept kan worden.... Hoe kan dat?
Als je kijkt op deze url dan zie je dat aan de linker kant twee instructeurs reeds ingedeeld zijn, boe2 en boe14 als je deze probeert weg te slepen dan zie je scrollbars. Daarentegen de boe's aan de rechterkant die hebben dat niet.
komt het doordat ze in drie divjes zitten en de rechter niet?
komt het door de CSS?
ze zijn op eenzelfde soort manier opgebouwd dus opzich zou dat niet uit moeten maken... toch?
dit is de broncode: bootindeling.php en de gelinkte JS ik hoop dat jullie me kunnen helpen want ik zit in een cirkeltje te werken!
thanx
hier zou een slimme opmerking kunnen staan
maar die staat er niet