即時通訊使用卡爾斯威德伯格的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