0

我有以下无序列表,我想在不悬停时隐藏并在悬停时显示。

<ul class="viewer">
<li><a href=".html">Menu</a></li>
<div>
<ul>
<li><a href=".html">1</a></li>
<li><a href=".html">2</a></li>
<li><a href=".html">3</a></li>
<li><a href=".html">4</a></li>
<li><a href=".html">5</a></li>
</ul>
</div>

CSS如下

div ul li {visibility: hidden;}

如您所见,我已将列表项包装在 div 中并将可见性设置为隐藏。

现在根据 jQuery 中的悬停方法,您应该能够在非常简单的基础上将列表项的可见性设置为可见,只需通过

$('ul li')

.hover

(function()
{
.css("visibility","visible");
}

),

(function()
{
.css("visibility","hidden");

});

让我有点不确定的是 $('ul li'). 而且,是否可以像我所做的那样在悬停效果中添加 CSS 功能?我不确定是否应该像我所做的那样将 css 添加到函数中。所有提示都表示赞赏。

4

2 回答 2

1

你不需要 jQuery 甚至 JavaScript,只需要使用 CSS 伪类:hover。想象一个没有启用 JavaScript 的用户......

ul li{
  // style of your list
  visibility: hidden;
}

ul li:hover{
  // style of your list when hovered
  visibility: visible;
}

此外,您不需要将列表包装到div此处,除非您有充分的理由这样做,否则不要包装元素。它会减慢您的网站在浏览器中的呈现速度。

于 2012-06-24T11:35:01.910 回答
0

您也可以尝试使用 hide() 命令。

this.hide();

或者

this.show();

那应该工作^^

要使您自己的脚本正常工作,您应该更改以下内容:

.css("visibility","visible");

进入这个:

this.css("visibility","visible");
于 2012-06-24T11:37:46.683 回答