0
試圖沿着這些線做些事情。更改畫布對象的顏色時,$這個CSS是.currentjquery html5 canvas更改顏色變量
var links = $("ul#nav-main a");
links.each(function() {
var linkWidth = $(this).outerWidth();
var canvas = $("<canvas></canvas>");
canvas.attr({width: linkWidth, height: 48});
var ctx = canvas.get(0).getContext("2d");
var linkColor = "rgba(27, 73, 218, 0.5)";
if links.css('.current'){
linkColor = "red"
}
ctx.save();
ctx.beginPath();
ctx.moveTo(linkWidth, 45.0);
ctx.lineTo(6.5, 46.3);
ctx.lineTo(0.0, 0.0);
ctx.lineTo(linkWidth-2, 2.0);
ctx.lineTo(linkWidth-4, 45.0);
ctx.closePath();
ctx.fillStyle('linkColor');
ctx.fill();
ctx.restore();
var image = canvas.get(0).toDataURL("image/png");
$(this).hover(function() {
$(this).css({background: "url('"+image+"') no-repeat"});
}, function() {
$(this).css({background: ""});
});
});
嗨Stefan非常感謝。我自己摸索通過這個,你可以告訴:)我甚至不知道ctx.save/restore的原因 – James 2011-12-20 16:26:04
用完整解決方案的實例更新了我的答案。希望它有助於:http://jsfiddle.net/QzrnC/ – Stefan 2011-12-21 09:09:49