jquery - 有没有更好的方法来构建这个顶级菜单?

标签 jquery html css xhtml

这是 Site如果您查看 map 下方,您将看到无序列表

这是html

<ul class="play_navigation">
    <li class="active"><a href="#" class="barino_story_bottom">The Story</a></li>
    <li><a href="#" class="barino_video_bottom">The Video</a></li>
    <li><a href="#" class="barino_gallery_bottom">The Gallery</a></li>
    <li><a href="#" class="barino_equipment_bottom">The Equipment</a></li>                          
</ul>

这是我的 CSS

ul.play_navigation {
    list-style:none;
    padding:0;
}

ul.play_navigation li  {
    display: inline;
}

ul.play_navigation li a {
    color: #00506B;
    font-family: Helvetica,sans-serif;
    font-weight: bold;
    padding-right: 34px;
    text-decoration:none;
    margin-left: 18px;
}

ul.play_navigation li.active {
    background:url(images/play-button.png) no-repeat left;
}

到目前为止我看起来还不错,但我被卡住了,因为我需要用户能够点击播放按钮,目前它是一个 li 而不是可点击的,我还需要播放按钮移动到事件的点击链接.. .因此,例如,如果用户单击该链接,我想将它从“故事”移至“视频”。我正在考虑通过 jquery 使用添加删除类,但我想要一些动画效果......任何想法

最佳答案

@Tamer - 您可以通过 jQuery 将点击处理程序附加到相关的 li:

$("li.active").click(function(){

    // actions you want to do when you click play go here

});

另外...您应该修改您的 CSS,通过添加光标属性让用户知道播放按钮是可点击的:

ul.play_naviation li.active {

    background:url(images/play-button.png) no-repeat left;
    cursor: pointer;

}

如何根据点击的链接移动播放按钮由您决定,但示例可能是:

$("ul.play_navigation > a").click(function(){

    $("li.active").removeClass("active");
    $(this).parent().addClass("active");

});

请注意,此方法需要您修改 CSS:

ul.play_navigation li.active

将简单地更改为:

.active

关于jquery - 有没有更好的方法来构建这个顶级菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540188/

相关文章:

javascript - HTML 组合键快捷方式

javascript - 如何使 jquery 计数器使用innerHTML 中的数据

HTML/CSS 背景图片不显示?

html - 页面顶部的页眉间隙

javascript - 按 T​​ab 键进入某个输入字段时显示 div

php - 创建电子邮件验证代码时限制长度是否不好?

html - 如何仅使用 HTML 和 CSS 在移动网站上的 DIV 中通过一组图像以加速/减速的方式水平滑动/滚动

python - 在 Python 中剥离服务器端注释

php - jquery 无法处理 ajax 加载的内容

javascript - 我怎样才能让这个JS slider 每三秒自动播放一次