Problem with JQuery changing background-color in CSS
我所拥有的是具有五个链接的基本导航。鼠标悬停时,导航栏具有背景图像和较深的阴影。我想做的是在每个页面的顶部添加一个jquery脚本,以将当前页面链接的颜色更改为悬停颜色...即。如果我在联系人页面上,导航栏上的联系人链接将是较深的颜色,因此很明显您在哪个页面上。到目前为止,我有这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <ul> <li> Home </li> <li> Reviews </li> <li> Guestbook </li> <li> About </li> <li> Contact </li> </ul> |
,然后在每个页面的顶部添加类似的内容(这里是review.html的内容)。
1 2 3 4 5 6 7 8 | <head> <script src="jquery.js"> <script type="text/javascript"> $(document).ready(function () { $('#reviews').css("background-color","#6d7f45"); }); </head> |
但是它根本不起作用。我刚刚开始使用JQuery,因此可以肯定它很简单,但是我自己尝试了许多解决方案,但感到很困惑。
CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | div.navigation { width: 950px; background-image: url('../images/navbg.png'); letter-spacing:2px; height: 35px; background-color: #679847; text-transform:uppercase; } div.navigation ul { padding-right: 50px; padding-left: 50px; padding-top: 10px; list-style:none; } div.navigation li { display: inline; margin-left: 10px; margin-right: 10px; } div.navigation a { background-image: url('../images/navbg.png'); text-decoration: none; padding: 8px; color: #FFFFFF; } div.navigation a:link { color:#FFFFFF; text-decoration:none; } /* unvisited link */ div.navigation a:visited { color:#FFFFFF; text-decoration:none; } /* visited link */ div.navigation a:hover { background-image: url('../images/navbg_hover.png'); color:#FFFFFF; text-decoration:none; background-color: #6d7f45; } /* mouse over link */ div.navigation a:active { color:#FFFFFF; text-decoration:none; } /* selected link */ |
您发布的基本代码有效-请参见jfiddle
为例。正如Hailwood指出的那样,可能还会发生其他事情,并且需要更多信息。链接到您的页面将是最简单的。
自从解决了OPs问题以来,我添加了此代码段以使菜单的维护更加容易,使用页面url设置选择器,而不必像指示的那样手动更改每个页面上的代码:
1 2 3 4 5 6 7 8 9 10 11 12 | <script type="text/javascript"> $(document).ready(function () { var url = document.location.toString(); var url_array = url.split("/"); // get last item in array var last = url_array[url_array.length-1]; $('.navigation a').each( function() { // if it matches if ($(this).attr('href').indexOf(last) != -1) $(this).css('background-color', '#6d7f45'); }); }); |
我们能为您的菜单看到一些CSS吗?
另外,我可能建议您使用
相反
我想我知道这是怎么回事,但我需要确定您的css来
是:
1 | $('#reviews').css("backgroundColor","#6d7f45"); |