根据页面更改css下拉菜单的顶部项目

时间:2013-01-31 19:36:28

标签: jquery css drop-down-menu

我有一个相当简单的所有css / html下拉菜单,显示链接到语言版本化页面的国家标志。现在它是静态的。我想更改它,以便您所在页面的标志出现在菜单的顶部。我似乎无法弄清楚如何实现这一目标。我假设我需要一些JS或jquery?

css:

#l_drop{background: #4D8986;height: 24px;width: 52px;border: 1px #62b7b4 solid; float:left; margin: 6px 0 0 7px;}
#l_drop ul{background: #4D8986;list-style: none;margin: 0;padding: 0;}
#l_drop li{float: left;position:relative;}
#l_drop a{display: block;float: left;height: 24px;line-height: 24px;padding: 0;text-decoration: none;}
#l_drop ul ul{display:none;position: absolute;top: 24px;left: -1px;width: auto;margin-top: -1px;border: 1px #62b7b4 solid;border-top: 0;}
#l_drop ul ul li{width:52px;}
#l_drop ul li:hover > ul {display: block;}

HTML:

<div id="l_drop">
<ul>
<li><a href="#"><img src="english.gif" width="52" height="24" alt="English" border="0" /></a>
<ul>
<li><a href="#"><img src="spanish.png" width="24" height="24" alt="Español" border="0" /></a></li>
<li><a href="#"><img src="french.png" width="24" height="24" alt="Français" border="0" /></a></li>
<li><a href="#"><img src="german.png" width="24" height="24" alt="Deutsch" border="0" /></a></li>
<li><a href="#"><img src="korean.png" width="24" height="24" alt="한국의" border="0" /></a></li>
<li><a href="#"><img src="chinese.png" width="24" height="24" alt="中国的" border="0" /></a></li>
<li><a href="#"><img src="japanese.png" width="24" height="24" alt="日本人" border="0" /></a></li>
</ul>
</li>
</ul>
</div>

有关如何使用此代码的任何建议根据页面换出顶部图像?或者你会建议我从头开始重建?任何提示赞赏。

2 个答案:

答案 0 :(得分:1)

理想情况下,这将在服务器端完成,而不是在客户端中完成。如果要提供静态文件,则应考虑更改代码库以反映每个文件的更改。如果您使用的是模板,我会处理页面检测并按此方式重新排序。现在说,如果你想做客户端,需要JS

您可以使用window.location.href来检测您所在的页面。从那里,您将获得“l_drop”DIV,然后重新编写该特定页面的UL。没有实际编码。

您可以拥有表示标志属性集合的ARRAY或JSON。您可以根据需要将正确的项目移动到数组的开头,然后通过循环遍历数组来调用重写UL的函数,并在第一个元素之后创建辅助列表,然后替换l_drop DIV id中的HTML。

答案 1 :(得分:0)

我最后在语言页面上添加了一个小脚本,刚刚换掉了img SRC并删除了美国国旗:

$(function () {
    $("img.USA").attr('src', '/german.png');    $(".lang_flagDE").attr('class', 'hideFlag'); });

每个图像都有一个类,如.USA - 此脚本用德语更改美国国旗的SRC,然后隐藏德国国旗的第二个实例。