Javascript 如何制作<;img>;位置:相对嵌套在位置:绝对<;部门>;可以用吗?

Javascript 如何制作<;img>;位置:相对嵌套在位置:绝对<;部门>;可以用吗?,javascript,html,css,css-position,Javascript,Html,Css,Css Position,我正在将一个flash旋转木马翻译成JavaScript,我的位置有问题。这是包含图像的div的CSS #tiovivo{ height:382px; width:793px; background-color:#F5F5F5; z-index:-1000; overflow:hidden; position:relative; } 如果位置不是相对的,则JavaScript代码必须更长,并且图像会超出边界 div中的图像如下所示: <div id="tiovi

我正在将一个flash旋转木马翻译成JavaScript,我的位置有问题。这是包含图像的div的CSS

#tiovivo{
height:382px;
    width:793px;
    background-color:#F5F5F5;
    z-index:-1000;
overflow:hidden; 
position:relative; }
如果位置不是相对的,则JavaScript代码必须更长,并且图像会超出边界

div中的图像如下所示:

<div id="tiovivo">
<img id="tio4" style="cursor:pointer; position:absolute;" onClick="location.href='tio4.php'" height="150px" src="tio4.jpg">
<img id="tio5" style="cursor:pointer; position:absolute;" onClick="location.href='tio5.php'" height="150px" src="tio5.jpg">
</div>

问题是,当
#tiovio
位置:relative
时,我无法单击图像,“onclick”事件不起作用,光标指针也不显示

如果#tiovivo处于
位置:静态
“onclick”和
光标:指针
正常工作


我需要图像“position:absolute”,这样我就可以轻松地将它们放入JavaScript代码中。

您的问题是
z-index:-1000
设置

比较这一点(与
#tiovio
上的
z-index
):

这(没有
上的
z-index
):


您的负片
z-index
正在将
#tiovio
及其子对象推到
下,因此图像不会收到点击事件。您不需要使用
z-index
将绝对定位的图像置于顶部,默认情况下,它们将位于顶部。

您的案例存在几个问题

  • 这里没有涉及javascript,至少它与此处的定位无关
  • 您使用的是绝对位置,没有其他位置属性,如左、右等
  • 删除z-index CSS,它就会工作。您正在将整个DIV置于所有其他项下,即使它是透明的
    • 1.)删除
      z-index:-1000
      ,使div中的所有元素都可以单击。
      2.)如果图像为
      绝对位置
      ,则必须向其添加垂直和水平位置(
      左侧
      右侧
      顶部
      底部


      另请参见我的。

      谢谢大家,这是
      z-index:-1000
      我使用此索引是因为我正在编程一个“3D”效果,我想避免
      #tiovio
      的底部覆盖图像

      #tiovivo{
      height:382px;
          width:793px;
          background-color:#F5F5F5;
          z-index:-1000;
      overflow:hidden; 
      position:relative; }
      
      这是我用来更新转盘的函数

      pos0+=(offx-tempX)/5000;if(pos0> 6.28318531){pos0-=6.28318531}
      image0.style.left=offx+310*Math.cos(pos0)+"px";
      ytilt=Math.sin(pos0);
      image0.style.top=offy+310*ytilt*((offy+tempY)/1000)+"px";
      image0.style.zIndex=Math.round(ytilt*10);
      
      pos1+=(offx-tempX)/5000;if(pos1> 6.28318531){pos1-=6.28318531}
      image1.style.left=offx+310*Math.cos(pos1)+"px";
      ytilt=Math.sin(pos1);
      image1.style.top=offy+310*ytilt((offy+tempY)/1000)+"px";
      image1.style.zIndex=Math.round(ytilt*10);
      
      我修复了向图像的zIndex添加偏移量的问题,因为sin()函数从-1变为1

      image0.style.zIndex=100+Math.round(ytilt*10);
      
      并从
      #tiovio