我注意到我的jquery手风琴菜单存在问题。
当我打开一个部分并再次关闭时,':hover'功能似乎停止了对该特定部分的工作。 ':hover'功能仍适用于我尚未点击的其他部分。
如果我全部点击它们,那么':hover'将停止为所有部分工作。
我会非常感谢你的帮助。
非常感谢
罗伯特
这是一个jsFiddle链接,可以快速展示该问题的代码示例。
将这些部分悬停,以查看背景位置是否已移位。单击一个部分,然后单击另一个部分并将鼠标悬停在上一部分。发生了奇怪的事情:)
在此示例中请注意div滑动定位已关闭,在主版本中没问题,但问题很好。
答案 0 :(得分:1)
首先,我会使代码有效,例如
<div class="sidebar_game_header">
<a href="http://www.apple.com/">
<img src="http://robertmegone.com/jsfiddle/images/icn_1.png" alt="Game 4 Icon"/>
<div class="sidebar_game_header_text">Game 4</div>
</a>
</div>
您无法在块级div
元素中嵌套块级a
,这样做会导致浏览器尝试错误恢复以重建DOM并根据需要显示元素,这通常很好,但是一旦你通过JS函数添加交互性代码/显示很可能会破坏..不是说它在这里,但它可能没有帮助;)
然后我会说在这个菜单中根本不需要定位或浮动,应该很容易使用内联块将图像和文本放入“标题”。然后他们不应该需要移动(刚才发生的古怪行为)
我不确定你要做什么,但CSS可能会为你完成大部分工作,所以jQuery只需要在子菜单中上下滑动而与之无关可以通过CSS在普通菜单中工作的悬停..但无论如何..这里有一些固定的HTML / CSS代码,它们适用于你的jQuery
注意IE7正在抛出一个错误,我不知道为什么,但我认为基础已经存在,我将嵌套的div
更改为span
并使其成像并使用垂直对齐的图像内联块,其余部分不需要浮动或定位,因为有自然位置
如果您希望链接为白色,则必须在CSS a
上指定color
,但div不足以定位链接颜色。
认为现在就是这样
好的我玩了一下,我真的不明白你使用的代码,但我觉得我需要从jQuery中获取CSS,这样你的悬停状态就会激活
我做了一个更新的例子,有人很可能会优化,这就是我所想的一切;悬停状态,移动背景等...通过CSS,它唯一的额外做法是在“开放”手风琴标题中添加一个类,以便它保留与悬停状态相同的CSS
我不确定的最后一件事是您需要哪些链接来阻止默认行为(标题链接?) - 我只是删除并且没有使<span>
文本成为链接在所有;)
我还将内部列表更改为列表;)它的工作方式相同
(顺便说一下,IE7不再使用此代码抛出异常)