Hello Everyone,
Here's an idea that you all can use when creating
widgets like Listboxs, Treeviews, Grids, ListView,
etc:
The idea is to only use a set number of layers and
then store the actual content inside an array. The
code below currently works in IE but can be converted
to work in DynAPI.
Here we got:
<html>
<body>
<div style="width:100;border:1 solid #cccccc">
<div
onclick="status=ar[inx].text;ar[inx].state=!ar[inx].state;showlist();"
id=l1 style="width:100;border:0 solid
#cccccc"> </div>
<div
onclick="status=ar[inx+1].text;ar[inx+1].state=!ar[inx+1].state;showlist();"
id=l2 style="width:100;border:0 solid
#cccccc"> </div>
<div
onclick="status=ar[inx+2].text;ar[inx+2].state=!ar[inx+2].state;showlist();"
id=l3 style="width:100;border:0 solid
#cccccc"> </div>
<div
onclick="status=ar[inx+3].value;ar[inx+3].state=!ar[inx+3].state;showlist();"
id=l4 style="width:100;border:0 solid
#cccccc"> </div>
</div>
<script>
var inx=0,vis=4,tm,itm
var ar=new Array()
for (i=0;i<=100;i++){
itm={text:'',value:'',state:0}
itm.text=i //String.fromCharCode(i+65)+" item"
itm.value="x"+i
ar[i]=itm
}
function showlist() {
var mx=ar.length>vis?vis:ar.length
for(i=1;i<=mx;i++) {
document.all["l"+i].innerText=ar[inx+(i-1)].text
if (ar[inx+(i-1)].state==1) {
document.all["l"+i].style.backgroundColor="#eeeeee"
}else{
document.all["l"+i].style.backgroundColor=""
}
}
}
function listdown() {
if (inx>(ar.length-vis)-1) return
inx++
showlist()
}
function listup() {
if ((inx)<=0) return
inx--
showlist()
}
showlist()
</script>
<input type="button"
onmousedown="listdown();tm=setInterval('listdown()',150);"
onmouseup="clearInterval(tm)" value="Dn">
<input type="button"
onmousedown="listup();tm=setInterval('listup()',150);"
onmouseup="clearInterval(tm)" value="Up">
</body>
</html>
All the best!
--
Raymond
__________________________________________________
Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.
http://shopping.yahoo.com
_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://www.mail-archive.com/[email protected]/