更改导航链接上的样式 - 包括next和prev按钮

时间:2009-08-17 15:31:50

标签: javascript css navigation

我目前正在为丹麦公司的网站工作。内容全部在一个页面中,我已经包含了一些jQuery滚动和东西。效果很好!

对于菜单,我被要求对元素进行编程,因此活动元素是粗体。我也是这样做的。

问题出现在这里:
客户想要一个主页按钮和下一个和上一个按钮。但是当我点击它们并且页面滚动时,CSS-classes不会因为活动元素而改变 - 所以菜单中的粗体元素仍然是最后点击的页面。

我希望任何人都可以提供帮助。

该页面可在以下位置查看: http://vedelform.dk/new/intro/

3 个答案:

答案 0 :(得分:1)

除了调用serialscroll插件之外,图像的事件处理程序还需要更新导航链接上的相应类名。当您直接单击导航链接时,可以调用changeActiveStates函数,但home,next和previous按钮不会发生这种情况。

您应该使用serialScroll插件的onBefore属性来定义一个方法,该方法将确定哪个导航链接应该接收类名。然后它可以调用changeActiveStates函数。

看起来似乎不需要多行代码来解决您的问题。如果您需要更多帮助来实现它,请告诉我。


编辑:

如果你添加它(从init.js的第84行开始),你就应该开展业务:

easing: 'swing',
onBefore:function(e, elem, $pane, $items, pos){
    if ((pos >= 0)&&(pos < $('ul.navigation > li > a').size())) changeActiveStates($('ul.navigation > li > a').get(pos));
    return true;
}

然后,您需要在页面加载时调用changeActiveStates(可能在初始化函数之后)以初始化正确的菜单项。

我希望有所帮助;如果它给你带来更多麻烦,请告诉我。

答案 1 :(得分:0)

您使用了缩小版本的脚本,因此调试代码非常困难。你也没有给我们你使用的插件名称。我认为插件中存在一个错误。因为“选择”的css类可以从一个菜单项跳转到另一个菜单项。

答案 2 :(得分:0)

@Jason Francis: 你也许是对的。我对jQuery和Javascript的关注不多,到目前为止我所做的比运气更有益。我做了很多反复试验 我理解你所说的关于获取serialScroll插件以确定调用changeActiveStates的元素的意思 - 但我真的不知道该怎么做。