Essayer de faire quelque chose le long de ces lignes. Changer la couleur de l'objet de toile quand $ cette css est .currentJquery html5 canvas changer la couleur variable
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: ""});
});
});
Salut Stefan merci beaucoup. Im tâtonnant à travers ce moi-même, comme vous pouvez le dire :) Je ne suis même pas sûr de la raison de ctx.save/restaurer – James
Mis à jour ma réponse avec un exemple vivant de la solution complète. J'espère que ça aide: http://jsfiddle.net/QzrnC/ – Stefan