Maison > interface Web > Tutoriel H5 > Utilisez la technologie HTML5 pour développer vos propres compétences de didacticiel color picker_html5

Utilisez la technologie HTML5 pour développer vos propres compétences de didacticiel color picker_html5

WBOY
Libérer: 2016-05-16 15:48:40
original
1624 Les gens l'ont consulté

Vous avez peut-être vu de nombreux sélecteurs de couleurs développés à l'aide de jquery/js. Aujourd'hui, nous allons utiliser la technologie HTML5 pour implémenter nous-mêmes un meilleur sélecteur de couleurs. J'espère que vous l'aimerez tous !

Copier le code
Le code est le suivant :

"affichage : aucun">




" id= "bVal" />

;/div> ;


Le code est très simple et contient deux parties, un élément click et un élément utilisé pour afficher le sélecteur de couleur.

Code JavaScript



Copier le code
Le code est le suivant :
$(function(){
var bCanPreview = true; // peut prévisualiser
// créer des objets de canevas et de contexte
var canvas = document.getElementById('picker') ;
var ctx = canvas.getContext('2d');
// dessin de l'image active
var image = new Image();
image.onload = function () {
ctx .drawImage( image, 0, 0, image.width, image.height); // dessine l'image sur la toile
}
// sélectionne la roue chromatique souhaitée
var imagesrc="images/colorwheel1.png ";
switch ($(canvas).attr('var')) {
case '2':
imagesrc="images/colorwheel2.png";
break;
case '3' :
imagesrc="images/colorwheel3.png";
break;
case '4':
imagesrc="images/colorwheel4.png"; >case '5' :
imagesrc="images/colorwheel5.png";
break;
}
image.src = imageSrc; function(e ) { // gestionnaire de déplacement de la souris
if (bCanPreview) {
// obtient les coordonnées de la position actuelle
var canvasOffset = $(canvas).offset(); .floor( e.pageX - canvasOffset.left);
var canvasY = Math.floor(e.pageY - canvasOffset.top
// obtenir le pixel actuel
var imageData = ctx.getImageData(canvasX); , canvasY, 1, 1);
var pixel = imageData.data;
// mettre à jour la couleur de l'aperçu
var pixelColor = "rgb(" pixel[0] ", " pixel[1] ", " pixel[2 ] ")";
$('.preview').css('backgroundColor', pixelColor);
// mettre à jour les contrôles
$('#rVal').val(pixel[ 0]) ;
$('#gVal').val(pixel[1]);
$('#bVal').val(pixel[2]); '). val(pixel[0] ',' pixel[1] ',' pixel[2]);
var dColor = pixel[2] 256 * pixel[1] 65536 * pixel[0]; >$( '#hexVal').val('#' ('0000' dColor.toString(16)).substr(-6));
}
}
$('#); picker') .click(function(e) { // gestionnaire d'événements de clic
bCanPreview = !bCanPreview;
});
$('.preview').click(function(e) { //); aperçu cliquez
$('.colorpicker').fadeToggle("slow", "linear");
bCanPreview = true;
}); 🎜>Tout le monde Comme vous pouvez le voir, il s'agit d'un code js très court qui est utilisé pour créer un nouveau canevas et un nouveau objet, puis nous dessinons une plaque de couleur circulaire. Vous pouvez choisir des plaques de base de différentes couleurs. Un paramètre est utilisé ici pour définir différentes options. Comme suit :





Copier le code


Le code est le suivant :





Maintenant, nous ajoutons des événements : mousemove, événements de clic. jQuery est utilisé ici pour afficher et masquer le sélecteur.

Copier le code
Le code est le suivant :

$('.preview' ).click (function(e) { // aperçu clic $('.colorpicker').fadeToggle("slow", "linear"); bCanPreview = true; });

Quand notre mouvements de la souris Sur l'objet sélectionné, nous devons rafraîchir les informations. Par exemple, la couleur actuelle

Copiez le code
. Le code est le suivant :

$('#picker').mousemove(function(e) { // gestionnaire de déplacement de la souris
if (bCanPreview) {
// obtenir les coordonnées de la position actuelle
var canvasOffset = $ (canvas).offset();
var canvasX = Math.floor(e.pageX - canvasOffset.left
var canvasY = Math.floor(e.pageY); - canvasOffset.top);
/ / obtenir le pixel actuel
var imageData = ctx.getImageData(canvasX, canvasY, 1, 1);
var pixel = imageData.data
// mettre à jour l'aperçu; color
var pixelColor = "rgb( " pixel[0] ", " pixel[1] ", " pixel[2] ")"
$('.preview').css('backgroundColor', pixelColor);
// mettre à jour les contrôles
$('#rVal').val(pixel[0]);
$('#gVal').val(pixel[1]); >$('#bVal').val (pixel[2]);
$('#rgbVal').val(pixel[0] ',' pixel[1] ',' pixel[2]);
var dColor = pixel[2] 256 * pixel[1] 65536 * pixel[0]
$('#hexVal').val('#' ('0000' dColor.toString(16)) .substr(-6));
}
});
$('#picker').click(function(e) { // cliquez sur le gestionnaire d'événements
bCanPreview = !bCanPreview;
});


Code CSS
CSS pour les plaques de base de différentes couleurs :


Copier le code Le code est le suivant :
/* styles de sélecteur de couleurs */
.colorpicker {
couleur de fond : #222222 ;
rayon de bordure : 5px 5px 5px 5px ;
ombre de la boîte : 2px 2px 2px #444444 ;
couleur : #FFFFFF ;
taille de la police : 12px
position : absolue ;
largeur : 460 px ;
}
#picker {
curseur :
flotteur : gauche ;
marge : 10 px 
bordure : 0 
} 🎜>.controls {
float : right ;
margin :
}
.controls >
border: 1px solid #2F2F2F
margin-bottom : 5px ;
débordement : caché ;
remplissage : 5px ;
}
.controls label {
float : gauche ;
.controls > couleur d'arrière-plan : #121212 ;
bordure : 1px solide #2F2F2F ;
couleur : #DDDDDD ;
taille de la police : 10px ; >margin-left: 6px;
text-align: center;
text-transform: uppercase;
width: 75px;
.preview {
background: url(" ../images/select.png") répéter le centre de défilement transparent ;
border-radius : 3px;
box-shadow : 2px 2px 2px #444444 ;
curseur : pointeur;
hauteur : 30px;
largeur : 30px
}


J'espère que vous l'aimerez tous

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal