一、各种高宽和间距图示
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
二、图片滚动特效的js实现
1.图片的上下滚动是通过设置的两个div的承接实现的,由于在一个<tr>中,div的摆放是上下的关系,所以不需要在页面中对div的摆放做处理即可实现图片的上下滚动。图片的向上滚动和向下滚动只是js代码略有不同,下面是图片向上滚动的html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片向上滚动</title> </head> <body> <table width="921" align="center"> <tr> <td bgcolor="D4EBFC" align="center"> <div id=demo style="BACKGROUND: #ffffff; OVERFLOW: hidden; WIDTH: 160px; COLOR: #0000ff; HEIGHT: 125px"> <div id=demo1> <div align="center"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td><a href="001.asp"> <img src="main_products_pic01.jpg" width="160" height="85" border="2" /></a></td> </tr> <tr> <td><a href="002.asp"> <img src="main_products_pic02.jpg" width="160" height="85" border="2" /></a></td> </tr> <tr> <td><a href="003.asp"> <img src="main_products_pic03.jpg" width="160" height="85" border="2" /></a></td> </tr> <tr> <td><a href="004.asp"> <img src="main_products_pic04.jpg" width="160" height="85" border="2" /></a></td> </tr> <tr> <td><a href="005.asp"> <img src="main_products_pic05.jpg" width="160" height="85" border="2" /></a></td> </tr> <tr> <td><a href="006.asp"> <img src="main_products_pic06.jpg" width="160" height="85" border="2" /></a></td> </tr> </table> </div> </div> <div id=demo2></div> </div> <SCRIPT language="javascript"> var speed=50; demo2.innerHTML=demo1.innerHTML; function Marquee(){ if(demo2.offsetTop-demo.scrollTop<=0){ demo.scrollTop-=demo1.offsetHeight; } else{ demo.scrollTop++; } } var MyMar=setInterval(Marquee,speed); demo.onmouseover=function() {clearInterval(MyMar)}; demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}; </SCRIPT> </td> </tr> </table> </body> </html>
2.下面是图片向下滚动的js代码,只需将上面页面中的js用此替换掉即可实现图片向下滚动。
<script> var speed=30 demo2.innerHTML=demo1.innerHTML demo.scrollTop=demo.scrollHeight function Marquee(){ if(demo1.offsetTop-demo.scrollTop>=0) demo.scrollTop+=demo2.offsetHeight else{ demo.scrollTop-- } } var MyMar=setInterval(Marquee,speed) demo.onmouseover=function() {clearInterval(MyMar)} demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </script>
3.图片向左右滚动时则div的摆放需要与滚动方向一致,即将两个div分别放在一个<tr>的两个<td>中,这样才能实现图片的左右滚动,下面是图片向左滚动的html代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片向左滚动</title> </head> <body> <table align="center"><tr><td> <DIV id=demo style="BACKGROUND: #ffffff; OVERFLOW: hidden; WIDTH: 300px; COLOR: #0000ff; HEIGHT: 86px"> <table><tr> <td> <div id=demo1> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="001.asp"> <img src="main_products_pic01.jpg" width="240" height="85" border="2" /></a></td> <td><a href="002.asp"> <img src="main_products_pic02.jpg" width="240" height="84" border="2" /></a></td> <td><a href="003.asp"> <img src="main_products_pic03.jpg" width="240" height="85" border="2" /></a></td> <td><a href="004.asp"> <img src="main_products_pic04.jpg" width="240" height="85" border="2" /></a></td> <td><a href="005.asp"> <img src="main_products_pic05.jpg" width="240" height="85" border="2" /></a></td> <td><a href="006.asp"> <img src="main_products_pic06.jpg" width="240" height="85" border="2" /></a></td> </tr> </table> </div> </td> <td><div id=demo2> </div></td> </tr></table> </DIV> </Td></tr></table> <!--滚动的javascrīpt--> <script> var speed=25; demo2.innerHTML=demo1.innerHTML; function Marquee(){ if(demo2.offsetWidth-demo.scrollLeft<=0) demo.scrollLeft-=demo1.offsetWidth; else{ demo.scrollLeft++; } } var MyMar=setInterval(Marquee,speed); demo.onmouseover=function() {clearInterval(MyMar)}; demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}; </script> </body> </html>
4.下面是图片向右滚动的js代码,只需将上面页面中的js用此替换掉即可实现图片向右滚动。
<script> var speed=25 demo2.innerHTML=demo1.innerHTML demo.scrollLeft=demo.scrollWidth function Marquee(){ if(demo.scrollLeft<=0) demo.scrollLeft+=demo2.offsetWidth else{ demo.scrollLeft-- } } var MyMar=setInterval(Marquee,speed) demo.onmouseover=function() {clearInterval(MyMar)} demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </script>