• 两种图片漂浮的代码


    第一种代码(放在<body></body>之间):
    <div id="ad" style="position:absolute">
    <a href="http://www.renhaibo.com" target="_blank"><img src="http://www.renhaibo.com/1.gif" border="0"></a>
    </div>
    <script>
    var x = 50,y = 60 //浮动层的初始位置,分别对应层的初始X坐标和Y坐标
    var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上
    var step = 1 //层移动的步长,值越大移动速度越快
    var delay = 10 //层移动的时间间隔,单位为毫秒,值越小移动速度越快
    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>

    第二种代码(放在<body></body>之间):
    <SCRIPT>
    var imagepath="http://www.renhaibo.com/1.jpg"
    var imagewidth=171 //这两行写图片的大小
    var imageheight=133
    var speed=3;
    var imageclick="http://www.renhaibo.com" //这里写点击图片连接到的地址
    var hideafter=0
    var isie=0;
    if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
    isie=1;
    }
    else {
    isie=0;
    }
    if(isie){
    var preloadit=new Image()
    preloadit.src=imagepath
    }
    function pop() {
    if(isie) {
    x=x+dx;y=y+dy;
    oPopup.show(x, y, imagewidth, imageheight);
    if(x+imagewidth+5>screen.width) dx=-dx;
    if(y+imageheight+5>screen.height) dy=-dy;
    if(x<0) dx=-dx;
    if(y<0) dy=-dy;
    startani=setTimeout("pop();",50);
    }
    }
    function dismisspopup(){
    clearTimeout(startani)
    oPopup.hide()
    }
    function dowhat(){
    if (imageclick=="dismiss")
    dismisspopup()
    else
    window.open(imageclick);
    }
    if(isie) {
    var x=0,y=0,dx=speed,dy=speed;
    var oPopup = window.createPopup();
    var oPopupBody = oPopup.document.body;
    oPopupBody.style.cursor="hand"
    oPopupBody.innerHTML = '<IMG SRC="'+preloadit.src+'">';
    oPopup.document.body.onmouseover=new Function("clearTimeout(startani)")
    oPopup.document.body.onmouseout=pop
    oPopup.document.body.onclick=dowhat
    pop();
    if (hideafter>0)
    setTimeout("dismisspopup()",hideafter*1000)
    }
    </SCRIPT>

  • 相关阅读:
    js 获取和设置css3 属性值的实现方法
    API的自动化测试
    删除html标签或标签属性以及样式
    JS+CSS实现数字滚动
    video元素和audio元素相关事件
    SDT v0.0.1 上线
    safari浏览器fixed后,被软键盘遮盖的问题—【未解决】
    js中DOM事件探究
    使用Web存储API存取本地数据
    剑指offer(Java版)第七题:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, 分别完成在队列尾部插入结点和在队列头部删除结点的功能。
  • 原文地址:https://www.cnblogs.com/fangbo/p/1915083.html
Copyright © 2020-2023  润新知