Javascript 更改导航链接上的样式-包括“下一步”和“上一步”按钮

Javascript 更改导航链接上的样式-包括“下一步”和“上一步”按钮,javascript,css,navigation,Javascript,Css,Navigation,我目前在一家丹麦公司的网站上工作。内容都在一个页面中,我还包括了一些jQuery滚动等内容。很好用 对于菜单,我被要求对元素进行编程,使活动元素为粗体。我也这么做了 问题来了: 客户端需要一个主页按钮和一个下一个和上一个按钮。但是当我点击它们,页面滚动时,活动元素的CSS类不会改变——因此菜单中的粗体元素仍然是最后点击的页面 我希望任何人都能帮忙 该页面可在以下网址查看: 您使用了脚本的简化版本,因此调试代码非常困难。你也没有告诉我们你使用的插件的名称。我认为插件中有一个bug。因为css类“s

我目前在一家丹麦公司的网站上工作。内容都在一个页面中,我还包括了一些jQuery滚动等内容。很好用

对于菜单,我被要求对元素进行编程,使活动元素为粗体。我也这么做了

问题来了:
客户端需要一个主页按钮和一个下一个和上一个按钮。但是当我点击它们,页面滚动时,活动元素的CSS类不会改变——因此菜单中的粗体元素仍然是最后点击的页面

我希望任何人都能帮忙

该页面可在以下网址查看:

您使用了脚本的简化版本,因此调试代码非常困难。你也没有告诉我们你使用的插件的名称。我认为插件中有一个bug。因为css类“selected”应该从一个菜单项跳到另一个菜单项

除了调用serialscroll插件外,图像的事件处理程序还需要在导航链接上更新相应的类名。当您直接单击导航链接时,会调用changeActiveState函数,但home、next和previous按钮不会这样做

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

看起来修复问题所需的代码不会超过几行。如果你需要更多的帮助,让它工作,让我知道


编辑:

如果您添加了此项(从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;
}
swing',
onBefore:功能(e、元素、$pane、$items、pos){
如果((pos>=0)和(('ul.navigation>li>a').size())更改活动状态($('ul.navigation>li>a').get(pos));
返回true;
}
然后,您需要在页面加载时调用changeActiveState(可能在初始化函数之后)来初始化正确的菜单项

我希望这有帮助;如果再给你添麻烦,请告诉我。

@Jason Francis: 你可能是对的。我对jQuery和Javascript不太感兴趣,到目前为止我所做的只是运气,而不是知识。我做了很多尝试和错误。

我理解你关于让serialScroll插件找出调用ChangeActiveState的元素的意思,但我真的不知道怎么做。

你能展示一下将事件处理程序绑定到滚动箭头的相关jQuery代码吗?@Russ:代码在这里:事件处理程序绑定在SerialScroll插件。@crescentfresh-我开始浏览代码,并认为大家可以更容易地询问它们的绑定位置:)该插件是SerialScroll:你愿意帮助我编写脚本吗?当然,我今晚会再看一遍。