Jquery在导航滑动门中显示当前页面

时间:2009-07-12 20:19:40

标签: jquery hyperlink navigation hover

我目前正在建设www.scenes-online.co.uk/test /

我使用jquery ...

让这些代码在悬停时上下滑动链接
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">

google.load("jquery", "1.3.2"); //load version 1.3.2 of jQuery

google.setOnLoadCallback(function() {
  jQuery(
        function($) {
$("a.button").hover(   function() {      $(this).animate({"marginTop": "-     4px"}, "800");   },   function() {      $(this).animate({"marginTop": "-     14px"}, "800");   });  

  });
});
</script>

我需要的是当前页面在margin-top:-4px处于'down'状态的链接,但我正在尝试的所有东西都摆脱了我的推拉门......

提前致谢

干杯

斯图

2 个答案:

答案 0 :(得分:2)

虽然很棒,但你并不需要jQuery,因为每个页面都有一个单独的HTML文件。您可以为其相应页面设置每个特定按钮的样式,以使其初始状态为down。例如,您可以将“当前”类添加到index.html上的主页按钮。并且当前将在css中声明margin-top: -4px

如果你真的想这样做,你需要在页面加载时迭代按钮并检查该元素的href是否是当前位置。

 $('a.button').each( function(idx, el) {
    if (el.href === window.location.toString()) {
      $(el).css('marginTop','-4px');
    }
 });

但这很容易破坏。例如,如果您使用查询字符串或哈希值而不更新href。实际上,上面的示例在登陆页面上不起作用(因为href是“index.html”)但是window.location只是“/”。但是对其他人有效,所以它应该让你去。

答案 1 :(得分:0)

你在这里有一个错误:

function($)  { 

必须是:

$(function () {

也许这就是问题