`

加了 DOCTYPE 以后js飘动效果失效解决办法

 
阅读更多

首先是网上的一段代码,注意下面的代码是没有DOCTYPE申明的,不过运行正常,但是加了DOCTYPE以后,代码失效。

 

复制代码
 1 <html>
 2 <head>
 3 <title>漂浮广告</title>
 4 <body>
 5 <div id="codefans_net" style="position:absolute">
 6 <!--链接地址--><a href="#" target="_blank">
 7 <!--图片地址--><img src="/images/logo.gif" border="0">
 8 </a>
 9 </div>
10 <script> 
11 var x = 50,y = 60 
12 var xin = true, yin = true 
13 var step = 1 
14 var delay = 10 
15 var obj=document.getElementById("codefans_net") 
16 function float() { 
17 var L=T=0
18 var R= document.body.clientWidth-obj.offsetWidth 
19 var B = document.body.clientHeight-obj.offsetHeight 
20 obj.style.left = x + document.body.scrollLeft 
21 obj.style.top = y + document.body.scrollTop 
22 x = x + step*(xin?1:-1) 
23 if (x < L) { xin = true; x = L} 
24 if (x > R){ xin = false; x = R} 
25 y = y + step*(yin?1:-1) 
26 if (y < T) { yin = true; y = T } 
27 if (y > B) { yin = false; y = B } 
28 } 
29 var itl= setInterval("float()", delay) 
30 obj.onmouseover=function(){clearInterval(itl)} 
31 obj.onmouseout=function(){itl=setInterval("float()", delay)} 
32 </script>
33 </body>
34 </html>
复制代码

 

这是因为DOCTYPE是不能使用document.body的,一定要改成document.documentElement,还有就是不要忘记了"px",这很重要,浏览器都是以像素运算的。

 

以下是改过的代码:

复制代码
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 3 <head>
 4   <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 5   <title>123</title>
 6 </head>
 7 <body>
 8 <!-- 漂浮图片开始 -->
 9 <style type="text/css">
10   #ad_Float a {
11     float: left;
12   }
13 </style>
14 <div id="ad_Float" style="position:absolute">
15   <a target="_blank" href="http://zjdj.zjol.com.cn">
16     <img src="http://zw.zcom.gov.cn/img/szdwjzx_01.gif" alt="浙江组织工作网" width=115 height=80 />
17   </a>
18   <a target="_blank" href="http://www.zjks.com/">
19     <img src="http://zw.zcom.gov.cn/img/szdwjzx_02.gif" alt="浙江人事考试网" width=115 height=80 />
20   </a>
21 </div>
22 <script type="text/javascript">
23   var x = 50, y = 60;
24   var xin = true, yin = true;
25   var step = 1;
26   var delay = 20;
27   var obj = document.getElementById("ad_Float");
28   function ad_Float() {
29     var T;
30     var L = T = 0;
31     var R = document.documentElement.clientWidth - obj.offsetWidth;
32     var B = document.documentElement.clientHeight - obj.offsetHeight;
33     obj.style.left = x + document.documentElement.scrollLeft + "px";
34     obj.style.top = y + document.documentElement.scrollTop + "px";
35     x = x + step * (xin ? 1 : -1);
36     if (x < L) {
37       xin = true;
38       x = L;
39     }
40     if (x > R) {
41       xin = false;
42       x = R;
43     }
44     y = y + step * (yin ? 1 : -1);
45     if (y < T) {
46       yin = true;
47       y = T;
48     }
49     if (y > B) {
50       yin = false;
51       y = B;
52     }
53   }
54   var itl = setInterval("ad_Float()", delay);
55   obj.onmouseover = function () {
56     clearInterval(itl);
57   };
58   obj.onmouseout = function () {
59     itl = setInterval("ad_Float()", delay);
60   };
61 </script>
62 <!-- 漂浮图片结束 -->
63 </body>
64 </html>
复制代码

 

分享到:
评论

相关推荐

    js实现全屏飘动效果

    在JavaScript中实现全屏飘动效果,主要是通过CSS和JavaScript的结合来完成的。这个效果通常用于网页的广告展示或者动态背景,可以吸引用户的注意力,提升用户体验。下面将详细讲解如何实现这一效果。 首先,我们...

    选择正确DOCTYPE解决CSS在网页失效问题

    本文将深入探讨DOCTYPE的作用,以及如何选择正确的DOCTYPE来解决CSS失效的问题。 首先,DOCTYPE是一个指令,它告诉浏览器页面应按哪个版本的HTML或XHTML标准来解析。不同的DOCTYPE会影响浏览器的“标准模式”和“ ...

    vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)

    今天用vue+原生js的mousemove事件,写了个拖动,发现只能慢慢拖动才行,鼠标只要移动快了,就失效,不能拖动了; 搞了半天在,总算解决了,但是问题的深层原理还没搞清楚,知道的大侠可以留言分享,下面直接上代码:...

    DOCTYPE文档类型声明

    DOCTYPE文档类型声明是HTML或XHTML文档中的一个重要组成部分,它位于文档的最顶部,用于告知浏览器文档遵循的规范和标准。DOCTYPE声明不是HTML或XHTML的一部分,而是引用了一个外部的文档类型定义(DTD),这个DTD...

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt;标签的定义和用法。 准确的说,&lt;!DOCTYPE&gt;并不是HTML标签,它声明web浏览器关于页面使用哪个 HTML 版本进行编写的指令。 在 HTML 4.01 中,&lt;!DOCTYPE&gt; 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签没有闭合标签,即它不需要以`&gt;`结束。 DOCTYPE声明的格式通常如下: ```html &lt;!DOCTYPE 类型 PUBLIC "公开标识符" "系统标识符"&gt; ``` 其中: - `类型`:指明文档遵循的HTML或XHTML规范。 - `公开...

    html标题_DOCTYPE的含义

    DOCTYPE声明的语法通常是这样的: ```html &lt;!DOCTYPE html PUBLIC "public_identifier" "URL"&gt; ``` 这里的`public_identifier`是公开标识符,`URL`是可选的,指向Dialect Type Definition (DTD)的在线位置,DTD是一...

    DOCTYPE html PUBLIC.doc

    6. **向下滚动代码**:这段代码与水平滚动类似,只是用不同的ID(如`#colee_bottom`和`#colee_bottom1`)和JavaScript逻辑来实现垂直方向的滚动效果。 7. **浏览器兼容性**:这个例子中的代码考虑了火狐(Firefox)...

    HTML 元素与合法的 Doctype.docx

    以下是一些常见的DOCTYPE声明: 1. **HTML 4.01**: - **Transitional**: `&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;` - **Strict**: `&lt;!...

    网页 DOCTYPE html标签的作用1

    在这种模式下,一些CSS样式可能不会按预期工作,页面布局可能会混乱,JavaScript的行为也可能与标准模式下不同。因此,为了确保跨浏览器的一致性和兼容性,以及良好的页面渲染效果,开发者应该始终在HTML文档的开头...

    解决使用vue.js路由后失效的问题

    且之前用jquery写的一些效果也失效了.最后找到原因是因为同一个id被启动了两次(第一次是之前使用vue组件时启动的,另外一个是路由时启动的) 附上部分代码 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta ...

    javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码

    本文实例讲述了javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果。分享给大家供大家参考。具体如下: 下面的玫瑰绘制用到了HTML 5的canvas,所以你的浏览器需要支持HTML 5。个人还是比较推荐chrome,这个效果在...

    HTML的!DOCTYPE是什么意思.zip_zip和rar区别

    HTML的!DOCTYPE是什么意思.zip

    ASP.NET 2.0中CSS失效的问题总结

    解决办法是改用ClientScriptManager或Literal控件来输出内容,以保持输出在正确的位置。 6. **ASP.NET 1.x样式在2.0中失效**: 这通常由XHTML1/DTD的更改引起。例如,宽度声明`width:200;`需要更改为`width:200px;...

    struts 1.2 跳转后css或js 无效解决方法

    ### Struts 1.2 跳转后 CSS 或 JS 无效解决方法 在使用Struts 1.2框架开发Web应用时,...通过上述解决方案和示例代码,可以有效地解决Struts 1.2应用中跳转后CSS或JS失效的问题,确保Action、CSS或JS能够正常工作。

    Threejs 波纹扩散,光圈扩散

    在本文中,我们将深入探讨如何使用Three.js库创建波纹扩散和光圈扩散效果,尤其适用于智慧城市或建筑等三维物体的视觉表现。Three.js是一个基于WebGL的JavaScript库,它使得在浏览器中创建复杂的3D图形变得相对简单...

    物理弹性滚动对联广告代码

    标签“js 物理弹性滚动 广告代码 文档声明 DOCTYPE”表明了问题的核心点,涉及JavaScript实现的弹性滚动效果,广告代码的部署,以及在添加DOCTYPE时遇到的兼容性问题。 在压缩包文件“tanxing_duilian”中,可能...

    DOCTYPE.rar_page

    标题中的"DOCTYPE.rar_page"可能是指一个HTML页面的DOCTYPE声明被存入了一个名为"DOCTYPE.rar"的压缩文件中,而".rar_page"可能是某种特定的文件结构或者命名约定,表示这是压缩包内的一个页面文件。描述提到的是...

    doctype html

    meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" /&gt; ...

Global site tag (gtag.js) - Google Analytics