通用网页漂浮广告代码及其详细解析

2009-05-31 13:17 作者: 来源: 本站 浏览: 245 次 我要评论(2条) 字号:

    网页漂浮广图片特效,这种特效我们总是很喜欢,鼠标指向图片后图片停止移动。

    将以下代码复制到网页的<body>和</body>之间,修改图片地址和链接地址即可。 

<div id="ad" style="position:absolute"><a href="http://www.matlabfan.com">
<img src=http://www.matlabfan.com/images/blue/logo.gif border="0"></a>
</div>
<script>
  var x = 50,y = 60
  var xin = true, yin = true
  var step = 1
  var delay = 10
  var obj=document.getElementById("ad")
  function floatAD() {
     var L=T=0
     var R= document.body.clientWidth-obj.offsetWidth
     var B = document.body.clientHeight-obj.offsetHeight
     obj.style.left = x + document.body.scrollLeft
     obj.style.top = y + document.body.scrollTop
     x = x + step*(xin?1:-1) 
     if (x < L) { xin = true; x = L}
     if (x > R){ xin = false; x = R}
     y = y + step*(yin?1:-1)
     if (y < T) { yin = true; y = T }
     if (y > B) { yin = false; y = B }
  }
  var itl= setInterval("floatAD()", delay)
 obj.onmouseover=function(){clearInterval(itl)}
 obj.onmouseout=function(){itl=setInterval("floatAD()", delay)}
</script>

说明:代码分析:

<div id="ad" style="position:absolute"><a href="http://www.matlabfan.com" target="_blank"><img src=http://www.matlabfan.com/images/blue/logo.gif border="0"></a></div>
<script>
var x = 50,y = 60 //[color=Maroon]浮动层的初始位置,分别对应层的初始X坐标和Y坐标
var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上
var step = 1 //层移动的步长,值越大移动速度越快
var delay = 5 //层移动的时间间隔,单位为毫秒,值越小移动速度越快
var obj=document.getElementById("ad") //捕获id为ad的层作为漂浮目标
function floatAD() {
var L=T=0 //层移动范围的左边界(L)和上边界(T)坐标
var R= document.body.clientWidth-obj.offsetWidth //层移动的右边界
var B = document.body.clientHeight-obj.offsetHeight //层移动的下边界
obj.style.left = x + document.body.scrollLeft //更新层的X坐标,实现X轴方向上的运动;document.body.scrollLeft为文档区域的滚动条向右拉的距离,以保证在滚动条右拉时层仍在可见范围内
obj.style.top = y + document.body.scrollTop //更新层的Y坐标,实现Y轴方向上的运动;document.body.scrollTop为文档区域的滚动条向下拉的距离,以保证在滚动条下拉时层仍在可见范围内
x = x + step*(xin?1:-1) //通过判断层的范围决定层在X轴上的运动方向
if (x < L) { xin = true; x = L} //层超出左边界时的处理
if (x > R){ xin = false; x = R} //层超出右边界时的处理
y = y + step*(yin?1:-1) //通过判断层的范围决定层在Y轴上的运动方向
if (y < T) { yin = true; y = T } //层超出上边界时的处理
if (y > B) { yin = false; y = B } //层超出下边界时的处理
}
var itl= setInterval("floatAD()", delay) //每delay秒执行一次floatAD函数
obj.onmouseover=function(){clearInterval(itl)} //层在鼠标移上时清除上面的间隔事件,实现层在的鼠标移上时停止运动的效果
obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //层在鼠标移开时开始间隔事件,实现层在的鼠标移开时继续运动的效果
</script>

无觅相关文章插件,快速提升流量

网友评论已有2条评论, 我也要评论

  1. 王先进博客浙江省杭州市 (西湖区)电信
    2010-12-05 16:32:12 1#

    可以用来放广告了。

  2. ZNZ江苏省南京市 电信ADSL
    2009-06-01 20:10:38 2#

    我那有更漂亮的

发表评论

*

* (保密)

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif

Ctrl+Enter 快捷回复

会员登录关闭

记住我 忘记密码

注册会员关闭

小提示: 您的密码会通过填写的"电子邮箱"发送给您.