Hi,
Im trying to position a DynAPI scrollpane within a table cell. What I would
like to do is to have the scrollpane aligned to the top left hand corner of
a table cell. However the properties of the table can change from page to
page ie number of cells, cell sizes.
My understanding is that the moveTo() function positions the scrollpane
relative to the frame or document that contains the scrollpane. Ive been
using Javascript to obtain the x and y coordinates of an anchor tag placed
in the table cell that I am interested in. However this method only works
when the anchor tag is placed outside a table... when its inside the table
it takes its origin from the table cell.
The source code I have been mucking about with is below. Any help would be
greatly appreciated!
Best Regards,
Mark Fletcher
<html>
<head>
<title>DynAPI Examples - ScrollPane</title>
<!--<meta http-equiv="Refresh" content="5">-->
<script language="JavaScript" src="../src/dynapi.js"></script>
<script language="Javascript">
DynAPI.setLibraryPath('../src/lib/');
DynAPI.include('dynapi.api.*');
DynAPI.include('dynapi.event.*')
DynAPI.include('dynapi.util.thread.js');
DynAPI.include('dynapi.util.pathanim.js');
DynAPI.include('dynapi.gui.dynimage.js');
DynAPI.include('dynapi.gui.button.js');
DynAPI.include('dynapi.gui.scrollbar.js');
DynAPI.include('dynapi.gui.viewport.js');
DynAPI.include('dynapi.gui.scrollpane.js');
DynAPI.include('dynapi.gui.label.js');
</script>
<script language="Javascript">
function findPOR() {
}
//-->
</script>
</head>
<body bgcolor="#ffffff" >
<p>Hello World</p>
<table border="1">
<tr>
<th>Col1</th>
<th>Col2</th>
</tr>
<td>Some info here</td>
<td>Some more info</td>
</tr>
<tr>
<td>Another bit of info</td>
<td>
<script>
DynAPI.onLoad = function() {
// vars HM_NS4, HM_NS4old and HM_Mac identifiy location of POR
var HM_NS4 = (document.layers) ? true : false;
var HM_NS4old = (HM_NS4 && (parseFloat(navigator.appVersion) < 4.02));
var HM_Mac = (navigator.appVersion.indexOf("Mac") != -1);
var ns=(HM_NS4 && !HM_NS4old || HM_Mac);
// Determine x and y coordinates of anchor, dependent on whether browser is
// Netscape 4 or not
if (ns) {
// NS4 Code
for (var i=0; i < document.anchors.length; i++) {
if (document.anchors[i].name == 'placescrollerhere') {
var xcoord = document.anchors[i].x;
var ycoord = document.anchors[i].y;
break;
}
}
} else {
// IE5 and NS6 Code
for (var i=0; i < document.anchors.length; i++) {
if (document.anchors[i].name == 'placescrollerhere') {
var xcoord = document.anchors[i].offsetLeft;
var ycoord = document.anchors[i].offsetTop;
break;
}
}
}
label1 = new Label('<table border=1><tr><td width=160 height=160>label 1
alk jskj slkj k dkjkj dk skslkdjf lskd f</td></tr></table>')
label1.setWrap(false)
label1.setPadding(5)
label1.setBgColor('cyan')
label1.setSize(160,160)
label2 = new Label('<table border=1><tr><td width=200>label 2 aslk asdkfjd
kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd
kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf
lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf
jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf
jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf
jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk</td></tr></table>')
label2.setWidth(200)
label2.setWrap(false)
label2.setPadding(5)
label2.setBgColor('yellow')
label2.pack()
label3 = new Label('<table border=1><tr><td width=160 height=500>label 3
aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd
kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd
kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf
lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf
jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd
kfdjf dk dk fjd kfjds</td></tr></table>')
label3.setWrap(false)
label3.setPadding(5)
label3.setWidth(100)
label3.packHeight()
label3.setBgColor('magenta')
label4 = new Label('<table border=1><tr><td width=600>label 4 aslk asdkfjd
kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd
kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf
lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds
lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf
jsdlk aslk asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk
asdkfjd kfdjf dk dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk asdkfjd kfdjf dk
dk fjd kfjds lkdjf ksdjf lskdf jsdlk aslk</td></tr></table>')
label4.setPadding(5)
label4.setBgColor('00eeb0')
label4.pack()
scrollobj = new ScrollPane(label1) // label1 will be set as the content
scrollobj.setSize(150,150)
//scrollobj.moveTo(xcoord,ycoord)
scrollobj.setBgColor('#c0c0c0')
DynAPI.document.addChild(scrollobj)
}
</script>
<!--<br>set scroll size: <a href="javascript:scrollobj.setSize(150,150)"
name="placehere">150</a>, <a
href="javascript:scrollobj.setSize(250,250)">250</a>, <a
href="javascript:scrollobj.setSize(350,350)">350</a>
<br>set label1 size: <a href="javascript:label1.setSize(100,100)">100</a>,
<a href="javascript:label1.setSize(140,140)">140</a>, <a
href="javascript:label1.setSize(200,200)">200</a>
<p><a href="javascript:scrollobj.setContent(label1)">Add Label #1 to
ScrollPane</a>
<br><a href="javascript:scrollobj.setContent(label2)">Add Label #2 to
ScrollPane</a>
<br><a href="javascript:scrollobj.setContent(label3)">Add Label #3 to
ScrollPane</a>
<br><a href="javascript:scrollobj.setContent(label4)">Add Label #4 to
ScrollPane</a> -->
<a name="placescrollerhere">
</td>
</tr>
</table>
</body>
</html>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
_______________________________________________
Dynapi-Help mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-help