职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1371|回复: 0

详细解析网页漂浮广告代码的含义

[复制链接]
不仅有点帅 发表于 2007-8-10 09:39 | 显示全部楼层 |阅读模式
  网页漂浮广图片特效,这种特效我们总是很喜欢,鼠标指向图片后图片停止移动。
  1. <div id="ad" style="position:absolute"><a href="http://www.webjx.com">
  2. <img src="/img/200406301.jpg" border="0"></a>
  3. </div>
  4. <script>
  5. var x = 50,y = 60
  6. var xin = true, yin = true
  7. var step = 1
  8. var delay = 10
  9. var obj=document.getElementById("ad")
  10. function floatAD() {
  11.    var L=T=0
  12.    var R= document.body.clientWidth-obj.offsetWidth
  13.    var B = document.body.clientHeight-obj.offsetHeight
  14.    obj.style.left = x + document.body.scrollLeft
  15.    obj.style.top = y + document.body.scrollTop
  16.    x = x + step*(xin?1:-1)
  17.    if (x < L) { xin = true; x = L}
  18.    if (x > R){ xin = false; x = R}

  19.    y = y + step*(yin?1:-1)
  20.    if (y < T) { yin = true; y = T }
  21.    if (y > B) { yin = false; y = B }
  22. }
  23. var itl= setInterval("floatAD()", delay)
  24. obj.onmouseover=function(){clearInterval(itl)}
  25. obj.onmouseout=function(){itl=setInterval("floatAD()", delay)}
  26. </script>
  27.    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
  28. 说明:代码分析:
  29. <div id="ad" style="position:absolute"><a href="http://www.webjx.com" target="_blank"><img src="/img/200406301.jpg" border="0"></a></div>
  30. <script>
  31. var x = 50,y = 60 //[color=Maroon]浮动层的初始位置,分别对应层的初始X坐标和Y坐标
  32. var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上
  33. var step = 1 //层移动的步长,值越大移动速度越快
  34. var delay = 5 //层移动的时间间隔,单位为毫秒,值越小移动速度越快
  35. var obj=document.getElementById("ad") //捕获id为ad的层作为漂浮目标
  36. function floatAD() {
  37. var L=T=0 //层移动范围的左边界(L)和上边界(T)坐标
  38. var R= document.body.clientWidth-obj.offsetWidth //层移动的右边界
  39. var B = document.body.clientHeight-obj.offsetHeight //层移动的下边界
  40. obj.style.left = x + document.body.scrollLeft //更新层的X坐标,实现X轴方向上的运动;document.body.scrollLeft为文档区域的滚动条向右拉的距离,以保证在滚动条右拉时层仍在可见范围内
  41. obj.style.top = y + document.body.scrollTop //更新层的Y坐标,实现Y轴方向上的运动;document.body.scrollTop为文档区域的滚动条向下拉的距离,以保证在滚动条下拉时层仍在可见范围内
  42. x = x + step*(xin?1:-1) //通过判断层的范围决定层在X轴上的运动方向
  43. if (x < L) { xin = true; x = L} //层超出左边界时的处理
  44. if (x > R){ xin = false; x = R} //层超出右边界时的处理
  45. y = y + step*(yin?1:-1) //通过判断层的范围决定层在Y轴上的运动方向
  46. if (y < T) { yin = true; y = T } //层超出上边界时的处理
  47. if (y > B) { yin = false; y = B } //层超出下边界时的处理
  48. }
  49. var itl= setInterval("floatAD()", delay) //每delay秒执行一次floatAD函数
  50. obj.onmouseover=function(){clearInterval(itl)} //层在鼠标移上时清除上面的间隔事件,实现层在的鼠标移上时停止运动的效果
  51. obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //层在鼠标移开时开始间隔事件,实现层在的鼠标移开时继续运动的效果
  52. </script>
复制代码
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-29 21:12 , Processed in 0.134540 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表