2016-10-14 17 views
1

我有一個簡單的創建這裏snapjs https://plnkr.co/edit/CyeVHuuuWrTAy1yKsp4d?p=previewSnap.js - 如何屬性設置爲加載SVG

樣本這是我的腳本 - 我加載一個SVG,我想漆成綠色。 令人驚訝的是,svg不是着色的,而是我畫的「bigCircle」。

$(document).ready(function() { 
    var s = Snap("#svg"); 
    var bigCircle = s.circle(150, 150, 100); 
    Snap.load("world.svg", function (f) { 
     var world = s.append(f); 
     world.attr({ 
     fill: "#bada55", 
     }); 
     bigCircle.drag(); 
     world.drag(); 
    }); 
}) 

感謝您的幫助!

+0

您的世界svg沒有被着色? https://plnkr.co/edit/mAw7mqzicIX3ugvBQyDa?p=preview –

+0

@Daniel Shillcock:不,這只是灰色,這是svg的原始顏色。和你的Plunker一樣。 – Gerfried

回答

2

您需要選擇放置後的世界。你正在試圖做到這一點:

var world = s.append(f) 

但是,這不會返回組成世界的路徑。它返回整個svg。我會先添加世界然後選擇它。我通過添加下面的代碼來修復它:

world=s.select('[id="layer1"]') 

我看到世界在您的svg中都被歸入這個ID之下。一旦被選中,你可以應用你想要的顏色/拖動。這裏的跳水者:https://plnkr.co/edit/t4JmZMz4JPJ0dDb95aQc?p=preview

+0

謝謝,這工作。我想知道爲什麼世界地圖拖半速,但這對我的項目並不重要。 – Gerfried