홈페이지 » 코딩 » jQuery UI Datepicker 사용자 정의 및 개발 방법

    jQuery UI Datepicker 사용자 정의 및 개발 방법

    jQuery UI는 사용하기 쉽기 때문에 단순히 멋지고 대화 형 기능이 필요한 거의 모든 웹 사이트에서 널리 사용됩니다.

    이 게시물에서는 제공된 기능 중 하나 인 Datepicker 위젯을 살펴 보겠습니다..

    캘린더 테마를 사용자 정의하는 방법을 배우므로 전체 디자인에 해당하는 고유 한 테마를 만들 수 있습니다. 그러나이 자습서를 수행하기 전에 JavaScript 및 CSS에 대한 지식이 필요합니다..

    • 데모
    • 소스 다운로드

    준비가 되었다면 시작하십시오..

    자산

    달력에 필요한 필수 자산을 준비해 봅시다..

    첫째, 달력 디자인은 Premium Pixels의이 PSD 파일을 참조합니다. 그래서 우리는 우리가 필요로하는 색상 샘플을 얻을 수 있도록 먼저 다운로드하는 것이 좋습니다. 그런 다음 두 가지 패턴을 다운로드하십시오. 교활한 패턴 우리는 달력의 배경으로 사용할 것입니다. 이 예에서는 검은 색 데님과 짙은 색 가죽을 사용하기로 결정했습니다..

    jQuery UI로 생성 된 요소 클래스 / ID를 검사하려면 Firebug와 같은 웹 개발 도구가 필요합니다..

    글쎄, 우리는 충분한 준비가되어 있다고 생각해. 이제 첫 번째 단계로 가자..

    1 단계 : jQuery UI Datepicker

    먼저, jQuery UI 다운로드 페이지로 이동하십시오. 이 페이지에서 다음과 같은 몇 가지 옵션이 제공됩니다. UI 핵심, 위젯, 상호 작용 및 효과.

    우리는해야한다. 모든 구성 요소 선택 취소, 우리 모두가 필요하지 않기 때문에.

    그런 다음 위젯 섹션에서 만 datepicker를 선택하십시오. jQuery UI는 필수 종속성을 자동으로 선택하고 다운로드 파일.

    다운로드 한 모든 파일 링크 - CSS를 제외하고 - HTML 빈 문서에 다음과 같이 입력하십시오.

     

    2 단계 : Datepicker 사용자 정의

    이 단계에서는 다음 옵션을 사용하여 datepicker를 구성합니다..

    위의 코드는 jQuery가 엘리먼트에 캘린더를 표시하도록 지시한다. 날짜 선택기 신분증. 그래서 우리는 다음을 넣어야합니다. div - 날짜 피커 ID가있는 태그 - 본문 섹션에 달력을 만듭니다.

    이제 캘린더가 이미 생성되어이 형식으로 나타나야하며 스타일이없는 일반 형식이지만 여전히 기능이 있습니다..

    3 단계 : 스타일

    이제 달력의 스타일을 시작해 보겠습니다. 평소와 같이 모든 요소를 ​​정규화하고 새 스타일 시트를 만드는 것으로 시작하겠습니다.이 예제에서는 이름을 지정합니다 datepicker.css. 그런 다음 모두 HTML 문서에 연결하십시오..

     

    그런 다음 HTML을 너무 단순하게 보이지 않도록 먼저 배경을 몸에 첨부합니다..

    body background : url ( '... /img/darkdenim3.png') 반복 0 0 # 555; 

    다음으로, 우리는 날짜 피커의 너비를 지정하고, 중앙에 위치시키고, 그림자를 추가하여 달력에 prominece 효과를 부여합니다.

    .ui-datepicker (너비 : 216px; 높이 : 자동; 여백 : 5px 자동 0; 글꼴 : 9pt Arial, sans-serif; -webkit-box-shadow : 0px 0px 10px 0px rgba (0, 0, 0, .5); -moz-box-shadow : 0px 0px 10px 0px rgba (0, 0, 0, .5); 상자 그림자 : 0px 0px 10px 0px rgba (0, 0, 0, 0.5); 

    모든 앵커 태그에서 기본 밑줄 장식을 제거합니다..

    .ui-datepicker a 텍스트 장식 : 없음; 

    jQuery UI의 캘린더에는 . 그래서, 추가하자. 100 % 너비 , 위의 래퍼와 동일한 최대 너비를 갖습니다. 그건 216px

    .ui-datepicker 테이블 (너비 : 100 %; 

    머리말 섹션 스타일 지정하기

    datepicker에는 다음을 포함하는 헤더 섹션이 있습니다. 월 및 연도 달력의 이 섹션에는 이전에 다운로드 한 짙은 색의 가죽 질감이 약간 흰 색으로 나타납니다. 1px 상단에 흰색 그림자.

    .ui-datepicker-header background : url ( '... /img/dark_leather.png') 반복 0 0 # 000; color : # e0e0e0; font-weight : bold; -webkit-box-shadow : 인 세트 0px 1px 0px rgba (250, 250, 250, 2); -moz-box-shadow : 삽 입율 0px 1px 1px rgba (250, 250, 250, .2); box-shadow : 인 세트 0px 1px 1px rgba (250, 250, 250, .2); 텍스트 그림자 : 1px -1px 0px # 000; 필터 : dropshadow (color = # 000, offx = 1, offy = -1); 줄 높이 : 30px; border-width : 1px 0 0 0; border-style : 솔리드; 테두리 색상 : # 111; 

    다음으로 위치.

     .ui-datepicker-title 텍스트 정렬 : 센터; 

    교체 다음 것예전의 PSD에서 슬라이스 된 스프라이트 화살표 이미지가있는 텍스트.

    .ui-datepicker-prev, .ui-datepicker-next 디스플레이 : 인라인 블록; 너비 : 30px; 높이 : 30px; 텍스트 정렬 : 가운데; 커서 : 포인터; background-image : url ( '... /img/arrow.png'); background-repeat : no-repeat; 라인 높이 : 600 %; 오버플로 : 숨김; 

    그런 다음 화살표 위치를 각각 조정하십시오..

    .ui-datepicker-prev 부동 : 왼쪽; 배경 위치 : 센터 -30px;  .ui-datepicker-next float : right; 배경 위치 : 센터 0px; 

    동안 요일 이름 섹션이 Thead, 우리의 디자인 참조를 기반으로, 그것은 약간 흰 그라디언트가됩니다. 그리고 작업을 단순화하기 위해이 도구를 사용하여 그라디언트 코드를 생성합니다.

    .ui-datepicker thead 배경색 : # f7f7f7; background-image : -moz-linear-gradient (맨 위, # f7f7f7 0 %, # f1f1f1 100 %); background-image : -webkit-gradient (선형, 왼쪽 위, 왼쪽 아래, 컬러 스톱 (0 %, # f7f7f7), 컬러 스톱 (100 %, # f1f1f1)); background-image : -webkit-linear-gradient (맨 위, # f7f7f7 0 %, # f1f1f1 100 %); background-image : -o-linear-gradient (맨 위, # f7f7f7 0 %, # f1f1f1 100 %); 배경 이미지 : -ms-linear-gradient (맨 위, # f7f7f7 0 %, # f1f1f1 100 %); 배경 이미지 : 선형 그래디언트 (맨 위, # f7f7f7 0 %, # f1f1f1 100 %); 필터 : progid : DXImageTransform.Microsoft.gradient (startColorstr = "# f7f7f7", endColorstr = "# f1f1f1", GradientType = 0); 테두리 아래 : 1 픽셀 단색 #bbb; 

    그만큼 요일 이름 텍스트는 짙은 회색의 색상을 갖습니다. # 666666 그리고 그들은 또한 얇은 흰색을 가질 것이다. 텍스트 그림자 누르는 효과를주기 위해.

    .ui-datepicker th 텍스트 변환 : 대문자; font-size : 6pt; 패딩 : 5px 0; color : # 666666; 텍스트 그림자 : 1px 0px 0px #fff; 필터 : dropshadow (color = # fff, offx = 1, offy = 0); 

    이 시점에서 달력은 다음과 같이 나타납니다.

    날짜 스타일 지정하기

    달력 날짜가 td 또는 테이블 데이터. 따라서 패딩을 다음과 같이 설정합니다. 0 사이의 공백을 없애기 위해 td 1 픽셀의 오른쪽 테두리를 지정합니다..

    .ui-datepicker tbody td 패딩 : 0; 테두리 오른쪽 : 1 픽셀 단색 #bbb; 

    마지막을 제외하고 td, 오른쪽 테두리가 없을 겁니다. 우리는 이것을 위해 오른쪽 테두리를 0으로 설정했습니다..

    .ui-datepicker tbody td : 마지막 자식 border-right : 0px; 

    테이블 행은 거의 동일합니다. 마지막 행을 제외하고 1px 테두리 아래에 표시됩니다..

    .ui-datepicker tbody tr border-bottom : 1px solid #bbb;  .ui-datepicker tbody tr : 마지막 자식 border-bottom : 0px; 

    기본, 호버 및 활성 상태 스타일 지정

    이 단계에서는 날짜 가리 키기와 활성 스타일을 정의합니다. 먼저 차원을 지정하여 날짜 기본 상태를 정의합니다. 날짜 텍스트 위치를 가운데에 배치하고 그라디언트 색상과 내부 흰색 그림자를 추가합니다..

    .ui-datepicker td 스팬, .ui-datepicker td a display : 인라인 블록; font-weight : bold; 텍스트 정렬 : 가운데; 너비 : 30px; 높이 : 30px; 줄 높이 : 30px; color : # 666666; 텍스트 그림자 : 1px 1px 0px #fff; 필터 : dropshadow (color = # fff, offx = 1, offy = 1);  .ui-datepicker-calendar .ui-state-default background : #ededed; 배경 : -moz-linear-gradient (상단, #ededed 0 %, #dedede 100 %); 배경 : -webkit-gradient (선형, 왼쪽 위, 왼쪽 아래, 컬러 스톱 (0 %, # ededed), 컬러 스톱 (100 %, # dedede)); 배경 : -webkit-linear-gradient (상단, #ededed 0 %, # dedede 100 %); 배경 : -o-linear-gradient (상단, #ededed 0 %, # dedede 100 %); 배경 : -ms-linear-gradient (맨 위, #ededed 0 %, # dedede 100 %); 배경 : 선형 그래디언트 (위쪽, #ededed 0 %, # dedede 100 %); 필터 : progid : DXImageTransform.Microsoft.gradient (startColorstr = "# ededed", endColorstr = "# dedede", GradientType = 0); -webkit-box-shadow : 인세 트 1px 1px 0px rgba (250, 250, 250, .5); -moz-box-shadow : 인세 트 1px 1px 0px rgba (250, 250, 250, .5); 상자 그림자 : 인세 트 1px 1px 0px rgba (250, 250, 250, .5);  .ui-datepicker-unselectable .ui-state-default background : # f4f4f4; color : # b4b3b3; 

    날짜 위로 마우스를 가져 가면 약간 흰색으로 바뀝니다..

     .ui-datepicker-calendar .ui-state-hover 배경 : # f7f7f7; 

    날짜가 활성 상태이면 다음 스타일을 갖습니다..

     .ui-datepicker-calendar .ui-state-active background : # 6eafbf; -webkit-box-shadow : 인 세트 0px 0px 10px 0px rgba (0, 0, 0, .1); -moz-box-shadow : 인 세트 0px 0px 10px 0px rgba (0, 0, 0, .1); box-shadow : 인 세트 0px 0px 10px 0px rgba (0, 0, 0, .1); color : # e0e0e0; 텍스트 그림자 : 0px 1px 0px # 4d7a85; 필터 : dropshadow (color = # 4d7a85, offx = 0, offy = 1); 국경 : 1 픽셀 고체 # 55838f; 위치 : 상대적; 여백 : -1px; 

    이제 달력이 훨씬 좋아 보일 것입니다..

    위치 고정

    이 시점에서 날짜를주의 깊게 살펴보십시오. 첫 번째 열 또는 마지막 열에서 날짜를 클릭하면 달력 가장자리에서 한 픽셀 씩 오버플로되는 활성 상태.

    그래서 여기에서 우리는 약간의 수정을 할 것입니다..

    먼저 날짜의 너비를 29px, 마지막 열의 오른쪽 여백과 첫 번째 열의 왼쪽 여백을 0 그 반대의 -1px 이전에 활성 상태로 설정 한 마진.

    .ui-datepicker-calendar td : 첫 번째 자식 .ui-state-active width : 29px; margin-left : 0;  .ui-datepicker-calendar td : 마지막 자식 .ui-state-active width : 29px; margin-right : 0;  

    달력 마지막 행의 날짜도 비슷한 처리를합니다..

    .ui-datepicker-calendar tr : 마지막 자식 .ui-state-active height : 29px; margin-bottom : 0; 

    자, 결과를 보자. 글쎄, 캘린더는 이제 아름답게 보이고 우리의 디자인 참조로 완벽하게 맞습니다. 그리고 데모를보고 소스를 다운로드하여 이미지 아래의 링크에서 코드를 검사 할 수 있습니다..

    • 데모
    • 소스 다운로드

    보너스 : 캘린더 연장

    자, 오늘 우리는 jQuery UI Datepicker에 대한 커스텀 테마를 만드는 방법에 대해 많은 것을 배웠습니다. 그러나이 데이트 피커에서 연장 할 수있는 것들이 많이 있기 때문에 여기서 멈추지 말아야합니다. 귀하의 jQuery와 CSS 숙련도에 따라 달력을 다음과 같이 확장 할 수 있습니다 - 오버레이 날짜 피커가있는 텍스트 입력.

    • 데모
    • 소스 다운로드

    더 읽을 거리

    jQuery UI에 대한 추가 정보. 여기에서 전체 설명서를 읽을 수 있습니다.

    • jQuery UI 시작하기
    • Theming jquery UI
    • jQuery UI : Theming API 클래스

    마지막 생각들

    이 튜토리얼을 읽고 따라 주셔서 감사합니다. 유용하다고 생각하길 바랍니다. 그리고 의견이 있거나이 튜토리얼에서 빠뜨릴 수있는 사항을 추가하고 싶다면 아래의 주석 섹션을 참조하십시오. 고마워요 (다시).