我正在创建一个水平滚动站点。每次单击菜单链接时,我都会使用 scrollto 滚动到所选部分,但是当我使用滚动而不是链接滚动到某个部分时,它会弄乱导航样式。我认为问题是我在滚动事件中有代码并且滚动到它也触发滚动事件¿?
我想要实现的是在以下情况下突出显示导航菜单中的当前链接:1)我单击它 2)我使用浏览器滚动条手动滚动到一个部分 3)我单击下一个/上一个链接
也许问题出在这部分:
var position = Math.abs( $('#slider ul').offset().left - 138 );
$('p.status').html( 'index:' + getCurrentSectionIndex(position) );
//disable the scroll event so it doesn't broke the flow
$('#slider').unbind('scroll',handler);
//scrolls to the selected section
$('#slider').scrollTo($('#' + $(this).attr('class')), 800, { axis: 'x' });
//enable again the scroll event
//$('#slider').bind('scroll',handler);
var timeout = setTimeout(function() {
$('#slider').bind('scroll',handler);
}, 3000);
我是 jquery 的新手,所以如果你看到任何可以改进的地方,请告诉我。欢迎任何建议:)
我不知道我是否解释得很好所以这是代码jsfiddle
我正在使用这个问题的一些代码