0

所以我有一个包含一些列表项的无序列表。我想使用按钮显示和隐藏列表项的第 n 个子项。

我尝试使用 :hover 按钮,但它不会响应。这是因为它是一个按钮吗?看一下代码。CSS:

div#right-column-sidebar {
    position: absolute; 
    top: 840px; 
    right: -140px
}
div#right-column-sidebar ol {
    position:absolute; 
    right: 150px;
    margin: 10px 0 10px 10px; 
    font-size: 20px; 
    color: red;
    list-style-type:none
}
div#right-column-sidebar ol li { 
    list-style-type:none;
    margin: 10px 0 10px 0;
    border-bottom: 1px dotted grey; 
    width: 200px; 
    display: block;
}
div#right-column-sidebar ol li:nth-child(11) {
    visibility:hidden
}

a.button {
    border: 1px solid lightgrey;
    no-repeat scroll top right;
    color: #444;
    display: block;
    float: left;
    font: normal 12px arial, sans-serif;
    height: 24px;
    margin-right: 6px;
    padding-right: 18px; /* sliding doors padding */
    text-decoration: none;
}

a.button span {
    display: block;
    line-height: 14px;
    padding: 5px 0 5px 18px;
}

a.button:hover div#right-column-sidebar ol li:nth-child(11){visibility:visible} {}

HTML:

<div id="right-column-sidebar">
    <ol>
        <li><a href="#">Title 1</a></li>
        <li><a href="#">Title 2</a></li>
        <li><a href="#">Title 3</a></li>
        <li><a href="#">Title 4</a></li>
        <li><a href="#">Title 5</a></li>
        <li><a href="#">Title 6</a></li>
        <li><a href="#">Title 7</a></li>
        <li><a href="#">Title 8</a></li>
        <li><a href="#">Title 9</a></li>
        <li><a href="#">Title 10</a></li>
        <li><a href="#">Title 11</a></li>
        <li><a href="#">Title 12</a></li>
        <li><a href="#">Title 13</a></li>
        <li><a href="#">Title 14</a></li>
        <li><a href="#">Title 15</a></li>
        <li><a href="#">Title 16</a></li>
        <li><a href="#">Title 17</a></li>
        <li><a href="#">Title 18</a></li>
        <li><a href="#">Title 19</a></li>
        <li><a href="#">Title 20</a></li>
    </ol> 
    <a class="button" href="#"><span>Show more</span></a>
</div>

我也愿意尝试一些js,添加加载效果会很好

4

3 回答 3

0

当您使用 jQuery(正如其他人所建议的那样)时,您可以做一些像这样简单的事情

$('#nth_item_button').click( function() { $('ul#my_ul li:nth-child(3)').toggle(); } );
于 2012-07-27T14:50:03.253 回答
0

CSS 只能使用:hover. 您的 HTML 结构不支持此功能。您将需要使用 JavaScript。

于 2012-07-27T14:48:03.813 回答
0

查找 jQuery 的 .click()、.each() 和 .eq() 方法。jQuery 非常易于使用,跨浏览器兼容,您可以查看它们的效果页面并玩弄各种东西(淡入淡出、滑动等)。

jQuery.com

于 2012-07-27T14:48:10.320 回答