..
종종 문제가 해결 예상보다 가장 어려운 증명, 그리고 일반적으로 반나절의 작업 구출 이미했던 것은 사람에 대한 절망, 더 많거나 적은 정통과 열이 상담 웹 사이트를 다시 잃고있다는 점이다 쉽게 보인다 문제.
프로젝트 나는 내가 몇 분 안에 해결 생각 텍스트 영역에서 허용되는 문자 수를 제한할 필요가 있었을 때, 정말 내가 인터넷에서 몇 가지 솔루션을 찾을 수 없습니다하지만 결국 나를 설득, 그래서 결심 없습니다 를 사용하여 뭔가 정의 구현 jQuery 우수한 jQueryUI을 패키지 progessbar의 특정 구성 요소를.
에 Colleghiamoci http://jqueryui.com/ 하고 오른쪽 상단에있는 버튼을 "다운로드 사용자 지정 빌드"를 클릭하십시오.
다음 페이지에서 유용한 구성 요소를 선택하고 우리가 단지 progressbar를 결심하고 사용할 수있는 위젯 중 하나.

다음과 같이 우리의 작은 예를 들어, 간단한 구조를 만듭니다 :
우리는 HTML 파일을 만들 그것을 의미있는 이름을 (우리가 mrw_jquery_txtcheck.html 전화 할게요)주고 필요한 헤드 태그 흠도에 삽입 : 테마 CSS 파일과 JS jQuery와 jQueryUI에 대한 링크를.
HREF = "jquery-ui-1.8.9.custom/css/ui-lightness/jquery-ui-1.8.9.custom.css"<link type="text/css" rel="stylesheet" /> <script type="text/javascript" src="jquery-ui-1.8.9.custom/js/jquery-1.4.4.min.js"> </ SCRIPT> <script type="text/javascript" src="jquery-ui-1.8.9.custom/js/jquery-ui-1.8.9.custom.min.js"> </ SCRIPT>
본문에 텍스트 영역 추가 :
<DIV> <textarea name="limitedOne" id="limitedOne" style='width:250px;height:100px;'> </ 텍스트 영역> </ 사업부>
다음 progressbar, 당신에게 또한, 숫자가 얼마나 많은 문자의 아이디어를주기 위해 자리 표시자를 포함하는 사업부를 삽입합니다.
<div style="height: id="progress" 20px;"> </ 사업부> 사용 가능한 <P> <span id="charCounter"> 255 </ span>를 문자. </ P>
이제 우리는 또한 다음을 포함 머리 태그에, 우리는 check_textarea.js 전화 할께 필요한 기능과 함께 별도의 파일 자바 스크립트 / jQuery 코드를 작성하는 진행할 수 있습니다.
우선 기본적인 변수를 정의, 문자는 허용하고 가능한들은 처음에 같은 값을 가지고 :
MAX_CHARS = 255; = MAX_CHARS 남은;그럼 우리가 컨트롤과 progressbar와 카운터를 향상 기능을 정의 :
checkTextareaLength 기능 () {
current_length == 정의 var에 = $ ( "# limitedOne"). 발 (). 길이?
0 : $ ( "# limitedOne") 발 () 길이;..
= 남은 (MAX_CHARS - current_length);
경우 (남아> 0) {
$ ( "# LimitedOne") ($("# LimitedOne 발 ") 발 () 문자열 (0, MAX_CHARS))...;
다른 {}
$ ( "# CharCounter") HTML (남은).;
var에 PV = Math.floor ((((MAX_CHARS - 남음) / MAX_CHARS) * 100));
. $ ( '# 진행') Progressbar ( '값', PV);
}
}
코드를 분석하자 : checkTextareaLength의 첫 번째 줄은 함수 발 () jQuery를 사용하여 텍스트 영역의 현재 가치를 얻을 다음 길이 속성을 읽기가 입력한 문자의 개수를 계산합니다.
다음 줄에 차이에 사용할 문자 수를 제공합니다.
이 시점에서 두 가지의 가능성이 있습니다.
1. 변수를 남은 것은 (복사 / 붙여넣기 후 예) 0보다 작습니다 블록은 텍스트 영역의 가치를 수정해 기본 자바 스크립트 문자열을 사용하여 255 문자를 제한하는 경우
$ ( "# LimitedOne") ($("# LimitedOne 발 ") 발 () 문자열 (0, MAX_CHARS))...;
2. 나머지가 0보다 큰 다른 왼쪽 문자의 개수와 향상된 첫 번째 기간에 블록 :
$ ( "# CharCounter") HTML (남은).;
다음 기능을 사용할 수있는 최대 문자 수를 그 현재 포함된 라이브러리 함수 반올림 가장 가까운에 대한 결과 Math.floor (아래) 사이의 비율을 계산합니다 :
var에 PV = Math.floor ((((MAX_CHARS - 남음) / MAX_CHARS) * 100));
이 시점에서 우리는 오직 progressbar에있는 가치를 지정할 수 있습니다
. $ ( '# 진행') Progressbar ( '값', PV);
DOM 준비에서 실행되는 코드를 작성하자.
우리는 progressbar의 바인딩을 초기화하고 차단하려는 이벤트 실시 : 키를 누를, mouseout, 변경, 그리고 흐리게합니다.
사용자가 복사 / 붙여넣기를 사용해야하는 이벤트를 가로채기 위해 그들을 모두 모니터링합니다.
함수 호출은 네이티브 함수 setTimeout을 통해 두 번째 몇 hundredths로 연기됩니다 그렇게 항상 사용자가 입력을 완료하면 적절한 시간에 가치를 가지고해야합니다.
$ (함수 () {
$ ( "# 진행") Progressbar ().;
$ ( "# LimitedOne.") 바인딩 ( "키를 누를 변경 mouseout 블러 ', 기능 () {
setTimeout ( "checkTextareaLength ()", 200);
});
});
| |
CSS (코스)
W3C CSS와 XHTML에 따라 웹 디자인 및 접근성. 29 €에서 시작. |
| |
HTML (코스)
29 €에서 웹 마크업 언어입니다. |
| |
자바 스크립트 (코스)
클라이언트측 스크립팅 가이드를 완료하십시오. 39 €에서. |