如何控制框架页的滚动
2008-02-23 07:48:33来源:互联网 阅读 ()
如何控制框架页的滚动
解决思路:
利用框架文档中window对象的scrollBy方法来滚动。
具体步骤:
1. 包含框架页的代码。
<script>
var itv,stepX,stepY,obj
function scrollStart(x,y){
stepX=x //X轴方向上的偏移量
stepY=y //Y轴方向上的偏移量
obj=document.frames.demo //捕获框架对象
//设置间隔事件,每10毫秒以stepX和stepY为偏移量滚动一次
itv=setInterval("obj.scrollBy(stepX,stepY)",10)
}
function scrollStop(){
clearInterval(itv) //取消间隔事件,达到停止滚动的效果
}
</script>
<iframe frameborder="0" scrolling="no" name="demo"
src="demo.htm"></iframe>
<button onmouseover="scrollStart(0,-1)"
onmouseout="scrollStop()" onmousedown="stepY=-5"
onmouseup="stepY=-1">上</button>
<button onmouseover="scrollStart(0,1)"
onmouseout="scrollStop()" onmousedown="stepY=5"
onmouseup="stepY=1">下</button>
<button onmouseover="scrollStart(-1,0)"
onmouseout="scrollStop()" onmousedown="stepX=-5"
onmouseup="stepX=-1">左</button>
<button onmouseover="scrollStart(1,0)"
onmouseout="scrollStop()" onmousedown="stepX=5"
onmouseup="stepX=1">右</button>
2.demo.htm页代码。这里仅仅是为了测试效果,可以替换为你自己的页面。
<script>
//为了产生横向滚动条
document.write(new Array(100).join("1 "))
//为了产生纵向滚动条
document.write(new Array(100).join("1<br>"))
</script>
注意:如果iframe所加载的页为站外URL,将导致跨域问题,拒绝访问。凡是涉及到对框架页的访问及控制,都会有跨域问题。
特别提示
代码运行后的效果如图1.6.8所示。鼠标移上四上按钮上后,iframe内所加载的页面将分别向上、下、左和右四个方面滚动,在按下鼠标时滚动速度加快,松开鼠标(仍然在按钮上)时恢复速度,鼠标移开后滚动停止。
1.6.8 控制iframe的滚动
特别说明
本例主要是window对象的scrollBy方法的应用。通过设置横向滚动速度stepX和纵向滚动速度stepY为全局变量,在鼠标移上时在函数中用setInterval不断调用scrollBy方法滚动页面,通过参数控制滚动方向,在鼠标按下时放大全局变量stepX或stepY的值,人而达到加快滚动速度的效果,而鼠标移开后再用clearInterval方法清除之前的setInterval事件以停止滚动。
scrollBy 将窗口滚动 x 和 y 偏移量。
setInterval 每经过指定毫秒值后计算一个表达式。
clearInterval 使用 setInterval 方法取消先前开始的间隔事件。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:在单元格里或层里出现滚动条
下一篇:怎么强制弹出窗口永远在最前面
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash