Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象标记覆盖div标记,如何防止这种情况?_Javascript_Html_Css - Fatal编程技术网

Javascript 对象标记覆盖div标记,如何防止这种情况?

Javascript 对象标记覆盖div标记,如何防止这种情况?,javascript,html,css,Javascript,Html,Css,这是JSFIDLE 我用一个activeX对象把它放在上面 请允许您的浏览器安装它以重现此错误 和快速代码预览在这里 <!DOCTYPE HTML> <html> <head> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> </head> <body> <div id="wanttooverlay"

这是JSFIDLE

我用一个activeX对象把它放在上面

请允许您的浏览器安装它以重现此错误

和快速代码预览在这里

<!DOCTYPE HTML>
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
    <div id="wanttooverlay" style="width:100px; height:100px; background-color:Red; position:absolute; top:0px; left:0px;"></div>
    <OBJECT style="width:500px; height:500px; background-color:blue;" id="Rdviewer" classid="clsid:ADB6D20D-80A1-4aa4-88AE-B2DC820DA076" type="application/html" codebase="rdviewer50.cab#version=5,0,0,239" >
        <param wmode="transparent" />
    </OBJECT>
</body>
</html>

我做了一些事情来解决,比如设置z-index,放置param wmode=“transparent”,诸如此类的事情

但对我来说,似乎没有什么解决办法

红色框将是我的应用程序中的日期选择器

仅仅通过操纵CSS就可以做到这一点吗

仅供参考,我正在通过documentready上的脚本实现object标记

这会是个问题吗


希望有人能解决这个问题。

对象中
内联样式:

插入:

position:absolute;
改为:

<OBJECT style="width:500px; height:500px; background-color:blue;position:absolute;" id="Rdviewer" classid="clsid:ADB6D20D-80A1-4aa4-88AE-B2DC820DA076" type="application/html" codebase="rdviewer50.cab#version=5,0,0,239" >
    <param wmode="transparent" />
</OBJECT>

注意:

  • 尽量避免内联样式
  • z-index
    仅对定位元素有效(位置:绝对, 位置:相对,或位置:固定)

另一个选项是从
div
中删除
位置:绝对值
,或者如果希望这些元素在页面上浮动,则将它们放入具有绝对位置的
div
包装中

<div style="position:absolute; top:0; left:0">
    <div id="wanttooverlay" style="width:100px; height:100px; background-color:Red"></div>
    <OBJECT style="width:500px; height:500px; background-color:blue;" id="Rdviewer" classid="clsid:ADB6D20D-80A1-4aa4-88AE-B2DC820DA076" type="application/html" codebase="rdviewer50.cab#version=5,0,0,239" >
        <param wmode="transparent" />
    </OBJECT>
</div>

看一看

您的问题似乎与JavaScript无关,因此请将其从问题中删除tags@ABFORCE我也在寻找一个javascript方式的解决方案。这对你有用吗?不适合我。我在IE11上测试过。我知道z索引是如何工作的。在演示中,对象标记仍然显示在红色框上。我在你的指示上遗漏了什么吗?你想要它在哪里?我不知道你说的在哪里是什么意思。但我试图让id为“WantOverlay”的div覆盖屏幕上的对象标记。在您的原始代码中,对象标记甚至不可见。您已经为div和object设置了不同的宽度和高度您只想覆盖object标记吗?因为不同的宽度,它不能完全覆盖它,我不希望元素浮动。我只想在对象标记上显示#wanttooverlay div。@HINA0531如果您想在对象标记上显示
div
,解决方案非常简单,请参阅我的更新邮件。您是否看到对象上的蓝色背景?这意味着ActiveX在那里不活动。一旦激活它,您将看到该对象仍然停留在红色bg div的顶部。向下拖动该对象与使对象无窗口无关。
<body>
    <OBJECT style="width:500px; height:500px; background-color:blue;" id="Rdviewer" classid="clsid:ADB6D20D-80A1-4aa4-88AE-B2DC820DA076" type="application/html" codebase="rdviewer50.cab#version=5,0,0,239" >
        <param wmode="transparent" />
    </OBJECT>
    <div id="wanttooverlay" style="width:100px; height:100px; background-color:Red; position:absolute; top:0px; left:0px;"></div>
</body>