即时通讯使用卡尔斯威德伯格的jQuery的平滑滚动插件同一页面链接: https://github.com/kswedberg/jquery-smooth-scrollkswedberg jquery平滑滚动插件 - 突出显示链接并删除滚动上的突出显示?
的联系有一个固定的位置,所以他们总是可见。我希望链接在点击之后突出显示,但当您滚动页面时突出显示将被删除(因为您可能不再位于链接对应的部分)。
它很容易让点击链接变色。但是,滚动时删除颜色比插件自身滚动更困难。香港专业教育学院尝试使用此代码:
$(document).ready(function() {
$('#scrollcontrolls a').smoothScroll(
{
afterScroll: function() {
$(window).scroll(function() {
$("#scrollcontrolls a").css("color", "black");
});
}
});
});
$(document).ready(function() {
$('#scrollcontrolls a').click(function() {
$(this).css('color','red');
});
});
的问题是,一旦窗口滚动功能被初始化,然后它时,便会引发的平滑滚动插件滚动页面。这意味着点击一个链接后,它将始终覆盖点击时应用到链接的颜色,因此点击其他链接不会改变它们的颜色。
感谢
编辑 - 香港专业教育学院进行,但与下面的代码排序的工作的版本:
$(window).bind('scroll', function() {
$("#scrollcontrolls a").css("color", "black");
});
$(document).ready(function() {
$('#scrollcontrolls a').smoothScroll(
{
afterScroll: function() {
$(window).unbind();
$(this).css('color','red');
$(window).bind('scroll', function() {
$("#scrollcontrolls a").css("color", "black");
});
}
});
});
但是有时点击这些链接不改变它的颜色,但再次点击它会。我认为在Scroll之后触发的不同功能并不总是按顺序运行。如果这是问题,我该如何让他们这样做?
感谢
[YUI 3's ScrollView](http://developer.yahoo.com/yui/3/scrollview/)正是如此。请参阅[本演示](http://developer.yahoo.com/yui/3/examples/scrollview/scrollview_source.html)。如果你对使用YUI不感兴趣(我不指望你是),你可以查看ScrollView源代码,看看它是如何完成的。 – 2011-04-06 02:28:39