2012-11-19 40 views
-4

我完成了一个网站,一切工作正常(我以为) 直到我发现了一个巨大的错误,无法修复:滚动页面会导致问题的按钮

我有一个导航栏(png文件)并在其上添加按钮(简单的DIV元素),当页面打开时1,一切正常,但如果您滚动页面一点,按钮不能正常工作。

请检查此链接:(滚动页面有些低落,而不是互动了,你会发现这个按钮)

http://www.genius-solutions.net/GSIS/index.html

但如果你将光标移到上面的扣子了一下,你会发现他们:

(HTML - JavaScript的)

这里的CSS部分:

#btn {position:absolute;left:0px;top:0px;z-index:4;} 
#btn1 {position:absolute;left:80px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0.0;cursor:pointer;} 
#btn2 {position:absolute;left:230px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0.0;cursor:pointer;} 
#btn3 {position:absolute;left:380px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0;cursor:pointer;} 
#btn4 {position:absolute;left:530px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0;cursor:pointer;} 
#btn5 {position:absolute;left:680px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0;cursor:pointer;} 
#btn6 {position:absolute;left:830px;top:280px;width:140px;height:35px;background:#DDE6E3;opacity:0;cursor:pointer;} 

#html, body { 
    background:#002a4c; 
    overflow:scroll; 
    width:1024px; 
    height:768px; 
    margin: 20px auto; /* center */ padding: 20px; 

} 

,这里的HTML部分:

<body > 
    <div id = 'applet' home='579' services='1437' solutions='1192' partners='100' aboutus='654' contacts='216'> 

     <div id='applet_t'> 

      <div id='btn'> 
       <div id='btn1'></div> 
       <div id='btn2'></div> 
       <div id='btn3'></div> 
       <div id='btn4'></div> 
       <div id='btn5'></div> 
       <div id='btn6'></div> 
      </div> 

    </div> 
     <div id='inf'></div> 


    </div> 

</body> 
+0

请提供更好的解释或jsFildle使用 –

+0

什么是您的浏览器?使用不同浏览器时出现同样的问题?你的决议是什么?用Crome和全高清看起来不会有问题。获取萤火虫,并做一些尝试和错误。 – Goot

+0

是的,所有浏览器的问题 - IE - Chrome - Safari - Firefox - – Sachou

回答

1

您的问题在于IMO使用非常不恰当的absolute定位的元素。只要您滚动页面,实际“点击”占位符的位置随页面移动,但不移动您的背景。

测试案例:尝试将您的页面向上移动一点,您将能够在实际按钮上方“点击”。

除非你有绝对定位元素使用的好理由static ==大多数元素的默认定位。

+0

移动你的网页意味着什么? (滚动)或在HTML脚本中移动它? 请你给我建议,所以我可以解决这个问题? – Sachou

+0

在浏览器中滚动。为了解决我的意思是使用语义HTML,如锚链接(不是div)等 –

+0

这个问题是不是从按钮定位,因为我改变了按钮的颜色和不透明度,他们总是在滚动后在同一个地方,即使游标的行为是交互良好的......但问题是只在按钮功能(在“mouseenter” - “mouseleave” - “mousedown”),这是错误的地方进行交互... 正在使用jQuery 1.8.2 。 任何帮助gys?无论如何使用JavaScript代替.on('mouseenter',function(){})? – Sachou