2013-03-21 45 views
1

我有一個菜單,使用jquery順利滾動到錨我已安裝哪個工程很好。jquery滾動,然後突出顯示div與錨

例子:http://jsfiddle.net/23VeR/

$(document).ready(function(){ 
$('a[href^="#"]').bind('click.smoothscroll',function (e) { 
    e.preventDefault(); 

    var target = this.hash, 
    $target = $(target); 

    $('html, body').stop().animate({ 
     'scrollTop': $target.offset().top 
    }, 500, 'swing', function() { 
     window.location.hash = target; 
    }); 
}); 
}); 

希望這會幫助別人尋找一個解決方案。

我一直在尋找一種方式來突出顯示(然後慢慢淡出)的div後滾動完成,但無法找到一個簡單的解決方案,因爲我是一個完整的jquery noob。

+0

正在使用jQuery插件確定與您? – 2013-03-21 12:05:26

+1

@ahren - 問題在代碼文本中。 – Niklas 2013-03-21 12:06:25

+1

@monsterboy看看jQuery UI。他們有一個名爲「突出」,這是接近你想要的效果:http://docs.jquery.com/UI/Effects/Highlight – 2013-03-21 12:07:39

回答

2

現在只要使用你的設備,我已經設法通過在背景中放置一個臨時元素來'閃光' - 然後將其刪除。

$('<div />') 
    .css({ 
     'width':'100%', 
     'height':'100%', 
     'position':'absolute', 
     'display':'none', 
     'background':'red', 
     'top':'0', 
     'left':'0' 
    }) 
    .prependTo($target) 
    .fadeIn('fast', function(){ 
     $(this).fadeOut('fast', function(){ 
      $(this).remove(); 
     }); 
    }); 

http://jsfiddle.net/23VeR/1/

遺憾的是其顯示盈文的,所以我加了一些<div> S到HTML並設置了一些position CSS屬性。因此,檢查這一個:

http://jsfiddle.net/23VeR/2/

可能仍然是值得看我的評論鏈接 - 或有一些其他的插件各地,這將讓你的動畫的CSS屬性background-color

此外,如果你不向後兼容,那麼你可以使用CSS3轉換。看到這個問題的更多信息:Transition of background-color

+0

謝謝你的伴侶,真的很感謝你的時間,我會和你一起玩,看看我能想出什麼。我剛剛注意到我需要首先排序的代碼存在另一個問題。就在你認爲自己已經解決了另一個問題的時候,並不總是這樣:) – monsterboy 2013-03-21 12:49:09

0

我做了一個插件,解決這個確切的問題。

https://github.com/cloudratha/active-scroll-js

它使用自定義數據屬性鏈接到目標ID。點擊錨點將平滑滾動到目標元素。它確定哪個錨點最接近當前滾動位置,並使用自定義類強調錨點。