0
我是編程新手。我正在使用kineticjs.while使用'get'屬性來設置所需圖層的不透明度。我被抓到了那個錯誤。javascript:未捕獲TypeError:無法讀取undefined屬性'get'
squareShapesLastRow2.on('click', function()
{
var highlightspots=[31,14,20,1,33,16,24,5,10,23,8,30,11,36,13,27];
a=this;
indexval = highlightspots.indexOf(parseInt(a.attrs.id));
console.log(indexval);
for (var i=0;i<(1+1);i++)
{
if(indexval>=highlightspots.length)
{
indexval=0;
}
indexval++;
}
for (var j=0;j<(4+1);j++)
{
if(indexval<0)
{
indexval=highlightspots.length-1;
}
else if(indexval>=0)
{
var shape = a.highlight_layer.get(highlightspots[indexval])[0];
shape.setOpacity(1);
}
a.highlight_layer.draw();
indexval--;
}
setTimeout(function() {
for (var i = 0; i < highlightspots.length; i++)
{
var shape = a.highlight_layer.get("#high_" + highlightspots[indexval])[0];
shape.setOpacity(.3);
}
a.highlight_layer.draw();},1000);
});
你在哪裏定義highlight_layer?在使用它之前,請嘗試console.log(a.highlight_layer);如果它未定義,那麼您的問題 –
謝謝Mauno V您的有效反饋。我修復了這個錯誤。問題是與代碼中提到的'id'我dint提到高光層 – Luna
正確的方法是:var shape = frenchBet.figure.frenchVariables.highlight_layer.get(「#」+ highlightspots [indexval] +「high 「)[0]; – Luna