2012-10-15 23 views
0

我在變量「pattern」上得到一個TypeError,並且我的腳本沒有執行超過標記的中斷點。我正在使用JCanvas和JQuery,並且所有的依賴關係都已到位。錯誤的原因是什麼?有一個類似的實現使用herecreatePattern沒有像預期的那樣返回

function drawMe(thumbUrl){ 
    function drawThumb(){ 
    $("canvas").drawRect({ 
     //Code breaks here. 
     fillStyle: pattern, 
     x: 200, y: 100, 
     width: 250, height: 100, 
     fromCenter: false   
    }); 
    } 

    var pattern = $("canvas").createPattern({ 
    source: thumbUrl, 
    repeat: "repeat", 
    load: drawThumb 
    }) 

} 

drawMe("http://placehold.it/100x100"); 

回答

2

我認爲你需要這個

function drawThumb(){ 
    $("canvas").drawRect({ 
     //Code breaks here. 
     fillStyle: pattern, 
     x: 200, y: 100, 
     width: 250, height: 100, 
     fromCenter: false   
    }); 
    } 

改變這種

function drawThumb(pattern){ 
    $("canvas").drawRect({ 
     //Code breaks here. 
     fillStyle: pattern, 
     x: 200, y: 100, 
     width: 250, height: 100, 
     fromCenter: false   
    }); 
    } 
+0

我不這麼認爲。 'pattern'是稍後定義的一個var。但是有些東西完全混淆了。 'thumbUrl'的var-definition引用,它之前沒有定義,但之前被定義爲一個函數參數。我會說:重構你的代碼,使用調試器。 – cljk

0

我對Chrome的這個問題。重新啓動鉻後,它解決了我的問題...

相關問題