2011-05-18 65 views
7

我想使用jQuery創建繪製的線條效果,就像使用不可見的筆繪製一樣。使用jQuery進行動畫線條繪製

排序是這樣的:

http://d2fhka9tf2vaj2.cloudfront.net/tuts/152_QTiPad/Milestones/JavaScriptWebsite.html

我做了這個模擬了一些其它的庫,但我不知道是否有這樣做的jQuery更簡單的方法。而且我也希望能夠製作彎曲和不規則的線條。

我想動畫繪製這樣的,例如:

http://commons.wikimedia.org/wiki/File:Mouse_line_drawing.jpg

是否有一個jQuery插件,可以幫助創造這樣的效果呢?

如果沒有,你可以建議一個簡單而有效的方法來做到這一點與jQuery?

謝謝您的建議!

最好的問候,

迪米特里Vorontzov

回答

6

看一看Raphael

Raphaël:跨瀏覽器矢量圖形的簡單方法。

+0

這是一個非常有趣的庫,謝謝Rasika。不幸的是,這不是我目前正在尋找的。 – 2011-05-18 13:25:09

7

我試圖重現這個動畫。我使用了一個div,在其中我放置了4個「border-divs」,它們將position: absolute作爲一個框架放置。

所有這些「border-divs」的寬度爲0px,1px solid black爲邊界。

當DOM準備好了,我動畫邊框的div一個接一個,改變其大小,以容器的尺寸:

$(function() { 
    $(".border, #content").hide(); 
    $("#topbar").show(); 
    $("#topbar").animate({width: "318px"}, 1000, function() { 
     $("#rightbar").show(); 
     $("#rightbar").animate({height: "238px"}, 1000, function() { 
      $("#bottombar").show(); 
      $("#bottombar").animate({width: "318px"}, 1000, function() { 
       $("#leftbar").show(); 
       $("#leftbar").animate({height: "238px"}, 1000, function() { 
        $("#content").fadeIn(1000); 
       }); 
      }); 
     }); 
    }); 
}); 

我不知道我是否清楚,英語不是我的母語語言,但我做了一個jsBin example here

你現在要做的就是在整個網站上重複這個過程!

+0

謝謝Sylvain,它更接近我想要的 - 但這裏有一個問題:如何爲複雜曲線做同樣的事情?例如,如果我想爲這些行製作動畫:http://commons.wikimedia.org/wiki/File:Mouse_line_drawing.jpg – 2011-05-18 13:54:58

+0

我的解決方案只能使用直線,因爲它只使用CSS&'jQuery.animate() '。對於更復雜的形狀,繪製成'svg'可能是一個很好的解決方案(參見[Rasika的答案])(http://stackoverflow.com/questions/6045286/animated-line-drawing-with-jquery/6045346#6045346)) – Sylvain 2011-05-18 14:11:40