HTML5 기술을 사용하여 나만의 멋진 색상 선택기_html5 튜토리얼 기술 개발
jquery/js를 사용하여 개발된 색상 선택기를 많이 보셨을 것입니다. 오늘은 HTML5 기술을 사용하여 더 나은 색상 선택기를 직접 구현해 보겠습니다. 모두가 좋아하길 바랍니다!
코드는 매우 간단하며 클릭 요소와 색상 선택기를 표시하는 데 사용되는 요소의 두 부분으로 구성됩니다.
JavaScript 코드
var bCanPreview = true; // 미리보기 가능
// 캔버스 및 컨텍스트 객체 생성
var canvas = document.getElementById('picker') ;
var ctx = canvas.getContext('2d');
// 활성 이미지 그리기
var image = new Image()
image.onload = function() {
ctx .drawImage( image, 0, 0, image.width, image.height); // 캔버스에 이미지를 그립니다
}
// 원하는 색상환 선택
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;$('#picker').mousemove( function(e ) { // 마우스 이동 핸들러
if (bCanPreview) {
// 현재 위치의 좌표 가져오기
var canvasOffset = $(canvas).offset()
var canvasX = Math .floor( e.pageX - canvasOffset.left);
var canvasY = Math.floor(e.pageY - canvasOffset.top)
// 현재 픽셀 가져오기
var imageData = ctx.getImageData(canvasX , canvasY, 1, 1);
var pixel = imageData.data;
// 미리보기 색상 업데이트
var pixelColor = "rgb(" pixel[0] ", " pixel[1] ", " pixel[2 ] ")";
$('.preview').css(' backgroundColor', pixelColor)
// 업데이트 제어
$('#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) { // 클릭 이벤트 핸들러
bCanPreview = !bCanPreview;
})
$('.preview').click(function(e) { // 미리보기 클릭
$('.colorpicker').fadeToggle("slow", "linear")
bCanPreview = true;
}); 🎜>여러분 보시다시피 새로운 캔버스와 객체를 생성하고 원형 색판을 그리는 데 사용되는 매우 짧은 js 코드입니다. 다양한 색상의 베이스 플레이트를 선택할 수 있습니다. 여기에서는 다양한 옵션을 설정하기 위해 매개변수가 사용됩니다.
코드 복사
코드는 다음과 같습니다.
이제 이벤트를 추가합니다: mousemove, click 이벤트. 여기서는 jQuery를 사용하여 선택기를 표시하고 숨깁니다.
$('.preview' ).click (function(e) { // 미리보기 클릭 $('.colorpicker').fadeToggle("slow", "linear"); bCanPreview = true; }); 마우스 이동 선택한 개체에 대한 정보를 새로 고쳐야 합니다. 예를 들어 현재 색상
var canvasOffset = $ (canvas).offset();
var canvasX = Math.floor(e.pageX - canvasOffset.left)
var canvasY = Math.floor(e.pageY - canvasOffset.top); / / 현재 픽셀 가져오기
var imageData = ctx.getImageData(canvasX, canvasY, 1, 1)
var pixel = imageData.data// 미리보기 업데이트 color
var pixelColor = "rgb( " pixel[0] ", " pixel[1] ", " pixel[2] ")"
$('.preview').css(' backgroundColor', pixelColor);// 업데이트 제어
$('#rVal').val(pixel[0])
$('#gVal').val(pixel[1]); >$('#bVal').val (픽셀[2]);
$('#rgbVal').val(pixel[0] ',' 픽셀[1] ',' 픽셀[2]);
var dColor = 픽셀[2] 256 * 픽셀[1] 65536 * 픽셀[0]
$('#hexVal').val('#' ('0000' dColor.toString(16)) .substr(-6));
}
});
$('#picker').click(function(e) { // 이벤트 핸들러 클릭
bCanPreview = !bCanPreview;
})
CSS 코드
다른 색상의 베이스 플레이트용 CSS:
코드 복사
코드는 다음과 같습니다:
십자선;
float: 왼쪽;
테두리: 0; 🎜>.controls {
float: right;
margin: 10px
}
.controls > div {
border: 1px solid
margin-bottom: 5px ;
overflow: 숨겨진;
padding: 5px
}
.controls label {
float: left; 배경색: #121212; 테두리: 1px #2F2F2F;
색상: #DDDDDD;
float: 오른쪽; 글꼴 크기: 10px; >여백-왼쪽: 6px;
텍스트 정렬: 중앙;
텍스트 변환: 대문자;
너비: 75px;
.preview {
배경: url(" ../images/select.png") 투명하게 스크롤 중심 반복;
테두리 반경: 3px;
상자 그림자: 2px 2px 2px #444444;
커서: 포인터;
높이: 30px;
폭: 30px;
}
모두 마음에 드셨으면 좋겠습니다

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML의 테이블 테두리 안내. 여기에서는 HTML의 테이블 테두리 예제를 사용하여 테이블 테두리를 정의하는 여러 가지 방법을 논의합니다.

HTML의 Nested Table에 대한 안내입니다. 여기에서는 각 예와 함께 테이블 내에 테이블을 만드는 방법을 설명합니다.

HTML 여백-왼쪽 안내. 여기에서는 HTML margin-left에 대한 간략한 개요와 코드 구현과 함께 예제를 논의합니다.

HTML 테이블 레이아웃 안내. 여기에서는 HTML 테이블 레이아웃의 값에 대해 예제 및 출력 n 세부 사항과 함께 논의합니다.

HTML 순서 목록에 대한 안내입니다. 여기서는 HTML Ordered 목록 및 유형에 대한 소개와 각각의 예에 대해서도 설명합니다.

HTML에서 텍스트 이동 안내. 여기서는 Marquee 태그가 구문과 함께 작동하는 방식과 구현할 예제에 대해 소개합니다.

HTML 입력 자리 표시자 안내. 여기서는 코드 및 출력과 함께 HTML 입력 자리 표시자의 예를 논의합니다.

HTML onclick 버튼에 대한 안내입니다. 여기에서는 각각의 소개, 작업, 예제 및 다양한 이벤트의 onclick 이벤트에 대해 설명합니다.
