gpt4 book ai didi

jquery - CSS、jQuery 和 Navigation Control——需要一个小的调整

转载 作者:行者123 更新时间:2023-11-27 22:36:39 25 4
gpt4 key购买 nike

我有一个导航,它使用 jQuery 和 CSS 来控制图像鼠标悬停定位和下拉菜单。一切正常。我收到客户的请求,但要进行一项修改。

您可以在此处查看示例:http://www.rouviere.com/jr/index.html (现在最好在 Firefox 或 Safari 中查看)

如果您将鼠标悬停在链接上,金色变为绿色,但是如果您将鼠标悬停在下拉菜单项上,则父链接变回金色。我的客户希望父链接保持绿色。所以我的问题是,我该如何实现?

这是鼠标悬停在父链接上的 css:

ul.dropdown li a.home:hover,
ul.dropdown li a.about:hover,
ul.dropdown li a.portfolio:hover,
ul.dropdown li a.maintenance:hover,
ul.dropdown li a.testimonials:hover,
ul.dropdown li a.contact:hover { background-position: center center; }

这是导航代码:

        <ul class="dropdown">
<li><a class="home" href="#">Home</a></li>
<li><a class="about" href="#">About Us</a>
<ul class="sub_menu">
<li><a href="#">Our History</a></li>
<li><a href="#">Our Process</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Financing</a></li>
<li><a href="#">Testimonials</a></li>
<li><a href="#">Subcontractors</a></li>
</ul>
</li>
<li><a class="portfolio" href="#">Portfolio</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="maintenance" href="#">Maintenance</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="testimonials" href="#">Testimonials</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="contact" href="#">Contact Us</a></li>
</ul>

最后但同样重要的是 jQuery:

$(function(){

$("ul.dropdown li").hover(function(){

$(this).addClass("hover");
$('ul:first',this).css('visibility', 'visible');

}, function(){

$(this).removeClass("hover");
$('ul:first',this).css('visibility', 'hidden');

});

$("ul.dropdown li ul li:has(ul)").find("a:first").append(" &raquo; ");

});

在此先感谢您的帮助!

最佳答案

为什么您要使用 jQuery 来做 CSS 允许您做的事情?我认为如果您使用以下选择器:

ul.dropdown li a.home:hover,
ul.dropdown li:hover { /* this targets the parent li's default hover state set it to the green colour */ }

ul.dropdown li ul li:hover,
ul.dropdown li ul li a:hover { /* this targets the dropdown li's default state set this to gold */ }

它应该可以工作。


根据评论进行编辑

演示站点在 Chrome、Firefox 和 Opera 上看起来很稳定,位于: http://davidrhysthomas.co.uk/so/parentLiStyles.html ,丑请见谅。它很实用,但不漂亮... =/


编辑以内联接受的代码我想,在某个时候,我可能会整理我的网站,无论如何,代码在这里可能更有用。所以这里是完整的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>list styling demo-page for Stackoverflow.com question 1517220</title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />

<style type="text/css" media="all">

ul.dropdown {width: 60%;
max-width: 100em;
margin: 1em auto;
}

ul.dropdown li {display: inline-block;
position: relative;
padding: 0 1em;
color: #fff;
background-color: #a18524;
}

ul.dropdown li.hover {background-color: #a18524;
}

ul.dropdown li a {text-decoration: none;
display: block;
color: #fff;
background-color: transparent;
}

ul.dropdown li:hover,
ul.dropdown li a:hover {color: #fff;
background-color: #41602a;
}

ul.dropdown li ul {display: none;
position: absolute;
top: 1em;
left: 0;
}

ul.dropdown li:hover ul
{display: block;
}

ul.dropdown li ul li {display: block;
border-bottom: 1px solid #fff;
line-height: 1.4em;
}

ul.dropdown li ul li a {width: 10em;
border
}

#code {white-space: pre-wrap;
width: 60%;
max-width: 100em;
margin: 1em auto;
line-height: 1.2em;
font-family: consolas, mono;
}

</style>

<script type="text/javascript" src="js/jquery.js"></script>

</head>

<body>

<ul class="dropdown">
<li><a class="home" href="#">Home</a></li>
<li><a class="about" href="#">About Us</a>
<ul class="sub_menu">
<li><a href="#">Our History</a></li>
<li><a href="#">Our Process</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Financing</a></li>
<li><a href="#">Testimonials</a></li>
<li><a href="#">Subcontractors</a></li>
</ul>
</li>
<li><a class="portfolio" href="#">Portfolio</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="maintenance" href="#">Maintenance</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="testimonials" href="#">Testimonials</a>
<ul class="sub_menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a class="contact" href="#">Contact Us</a></li>
</ul>


<div id="code">
ul.dropdown {width: 60%;
max-width: 100em;
margin: 1em auto;
}

ul.dropdown li {display: inline-block;
position: relative;
padding: 0 1em;
color: #fff;
background-color: #a18524;
}

ul.dropdown li.hover
{background-color: #a18524;
}

ul.dropdown li a {text-decoration: none;
display: block;
color: #fff;
background-color: transparent;
}

ul.dropdown li:hover,
ul.dropdown li a:hover
{color: #fff;
background-color: #41602a;
}

ul.dropdown li ul {display: none;
position: absolute;
top: 1em;
left: 0;
}

ul.dropdown li:hover ul
{display: block;
}

ul.dropdown li ul li {display: block;
border-bottom: 1px solid #fff;
line-height: 1.4em;
}

ul.dropdown li ul li a
{width: 10em;
border
}
</div>

</body>

</html>

关于jquery - CSS、jQuery 和 Navigation Control——需要一个小的调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com