2012-08-30 3 views

Répondre

2

Vous pouvez simplement paramétrer votre fonction de dessin, puis ajouter les événements mouseover/mouseout à votre toile pour appeler la fonction draw avec différents paramètres.

canvas.addEventListener ("mouseover", function() { tirage au sort ("# FF0000", "# 00FF00", "# 0000ff"); });

canvas.addEventListener ("mouseout", function() { tirage au sort ("# 474747", "# 6a6a6a", "# b9b9b9"); });

var tirage = function (color1, couleur2, ombre) {

[...]

var lingrd = context.createLinearGradient(0, 0, 0, 195); 
    lingrd.addColorStop(1, color1); 
    lingrd.addColorStop(0, color2); 
    context.fillStyle = lingrd; 
    context.shadowColor = shadow; 

[...]

}

Vous pouvez voir ce travail dans ce fiddle

+0

Et comment il devrait être pour les blocs séparés? Par exemple, je déplace ma souris sur le premier et seul le premier change de couleur. C'est possible? –

+0

Pour ce faire, vous auriez besoin d'un mécanisme de détection de la souris. C'est une question plus complexe à traiter. Si vous avez besoin de ce genre de fonctionnalité, vous feriez probablement mieux d'utiliser une sorte de framework de canevas. Vous pouvez trouver une discussion sur certains des existants [ici] (http://stackoverflow.com/questions/3474608/what-is-the-current-state-of-the-art-in-html-canvas-javascript- libraries-et-fra) – jbalsas

Questions connexes