> 웹 프론트엔드 > JS 튜토리얼 > DOM 학습 요약 및 example_javascript 기술 사용 소개

DOM 학습 요약 및 example_javascript 기술 사용 소개

WBOY
풀어 주다: 2016-05-16 17:35:42
원래의
1216명이 탐색했습니다.

1. 지정된 주소로 다시 탐색: Navigation("http://www.jb51.net");

2,

(1. *setInterval은 지정된 코드를 간격으로 실행합니다. 첫 번째 매개변수는 코드의 문자열, 두 번째 매개변수는 간격 시간(단위: 밀리초), 반환 값은 타이머의 식별자입니다. 예:

setInterval("alert('hello')",5000);

*clearInterval은 예약된 setInterval 실행을 취소합니다. 이는 Timer의 Enabled=False와 같습니다. setInterval은 여러 타이밍을 설정할 수 있으므로 ClearInterval은 삭제할 타이머의 식별자(setInterval의 반환 값)를 지정해야 합니다.

var 간격ld= setInterval("alert('hello')",5000);
clearInterval(intervalld);

(2. setTimeout도 예약 실행이지만 setInterval처럼 예약 실행이 아닙니다. 대신 시간을 설정한 후 한 번만 실행됩니다. ClearTimeout도 삭제 타이밍입니다.
구별하기 쉽습니다. : 간격은 타이밍이고, 시간 초과는 시간 초과입니다.

var timeoutld=setTimeout("alert('hello')",2000);
(3. 사례: 제목 표시줄 회전문 효과 실현, 즉 브라우저의 제목 텍스트가 500ms마다 오른쪽으로 스크롤됨

코드 복사 코드는 다음과 같습니다.

마키 효과


/title & gt
& lt; ;
함수 스크롤() {
var Title = document.tital; (0);
          var last = title.substring(1, title.length); 🎜> 






3.

(1. onload: 웹 페이지가 로드될 때 발생합니다. 브라우저는 문서를 다운로드하고 동시에 구문 분석하고 실행합니다. JavaScript가 실행될 때 특정 요소를 작동해야 하는 경우가 발생할 수 있습니다. 이 요소는 로드되지 않은 경우 작업을 수행해야 합니다. 코드는 본문의 onload 이벤트에 배치되거나 요소 자체가 로드될 때 요소의 onload 이벤트가 트리거될 수 있습니다.
(2. onunload: 웹페이지. 닫거나 나갈 때 발생합니다. onbeforeunload: 창이 나갈 때(앞으로 이동하거나 뒤로 이동하거나 닫을 때 등) 확인 메시지가 나타납니다. ) 예: ? '">

4,

고유한 속성 외에도 일반적인 HTML 요소에 대한 이벤트도 있습니다: onclick(클릭), ondblclick(두 번 클릭), onkeydown(키 누름), onkeyup(키 놓음), onkeypress(버튼 클릭) , onmousedown(마우스 누름), onmousemove(마우스 이동), onmouseout(마우스가 요소 범위를 벗어남),
onmouseover(마우스가 요소 범위로 이동), onmouseup(마우스 버튼 해제) 등

5. 창 개체 속성

(1. window.location.href="http://www.sina.com.cn", 새 주소로 리디렉션, 탐색 방법과 동일한 효과가 있습니다. window.location.reload()는 page.
(2. window.event는 이벤트가 발생할 때 정보를 얻기 위해 사용되는 매우 중요한 속성입니다. 이벤트는 window 객체의 이벤트에만 국한되지 않습니다. 모든 요소의 이벤트는 event 속성을 통해 관련 정보를 얻을 수 있습니다.
a. altKey 속성, 부팅 유형은 이벤트 발생 시 Alt 키를 눌렀는지 여부를 나타냅니다. 유사한 속성에는 ctrlKey 및 ShiftKey가 포함됩니다.

코드 복사 코드는 다음과 같습니다:

windows 이벤트 예시







"
="클릭" onclick="if(window.event.ctrlKey){alert('Ctrl을 눌렀습니다')}else{alert('일반 클릭')}" />                                           : //www.baidu.com "Onclight =" Alert ('접근 금지!'); Window.event.returnValue = false; px " >

;




b. clientX, clientY는 이벤트 발생 시 클라이언트 영역(브라우저 페이지)의 마우스 좌표입니다. screenX, screenY는 이벤트 발생 시 화면의 마우스 좌표입니다. 이벤트 소스( 버튼 버튼) 좌표를 기준으로 마우스를 기준으로 발생합니다.
c, returnValue 속성, returnValue가 false로 설정되면 기본 이벤트 처리가 취소됩니다.
d, srcElement: 이벤트 소스 객체 가져오기
e, KeyCode: 시간 발생 시 키 값
f, 버튼: 시간 발생 시 마우스 버튼, 1은 왼쪽 버튼, 2는 오른쪽 버튼, 3은 왼쪽 버튼 키를 동시에 누르는 것입니다.

& lt; body onmousedown = "if (event.button == 2) {alert ('복사 금지')}" & gt;

6.clipboardData 개체, 페이스트보드 작업. clearData("Text")는 페이스트보드를 지웁니다. getData("Text")는 페이스트보드의 값을 읽고 반환 값은 페이스트보드의 내용입니다. setData("Text",val)는 페이스트보드의 값을 설정합니다.

(1. 복사 시 body의 oncopy 메소드가 발동됩니다. 복사를 금지하려면 false를 직접 반환합니다.

( 2, 많은 요소에는 oncopy 및 onpaste 이벤트도 있습니다
.

예시 1: 복사 불가


예시 3: 텍스트 상자에 붙여넣기 비활성화


휴대폰 번호를 입력하세요:

휴대폰 번호를 다시 입력하세요: :

예시 4: 복사 시 첨부된 내용


웹사이트의 기사를 복사할 때 복사자가 기사의 출처를 추가하지 않는 것을 방지하기 위해 복사된 내용 뒤에 저작권 표시가 자동으로 추가됩니다.

함수 수정클립보드(){

clipboardData.setData('Text',clipboardData.getData('Text') '이 글은 블로그파크 기술존에서 가져온 글입니다. 재인쇄시 출처를 밝혀주세요.' location.href);

}

oncopy="setTimeout('modifyClipboard()',100)".

사용자는 복사 작업이 발생한 후 0.1초 후에 임시보드의 내용을 수정하게 됩니다. 100ms는 일반적인 값이므로 1000, 10, 50, 20… oncopy에서는 페이스트보드에 대한 작업을 직접 수행할 수 없으므로 0.1초 후에 실행되도록 타이머를 설정하여 더 이상 oncopy 실행 호출 스택에 존재하지 않도록 합니다.

7. 페이지 앞으로 및 뒤로: 이력 작업 이력

window.history.back()은 뒤로 이동합니다. window.history.forward()는 앞으로 이동합니다. window.history.go(-1)를 사용하여 앞으로 이동할 수도 있고, window.history.go(1)를 사용하여 뒤로 이동할 수도 있습니다.

예 1:


2페이지입니다뒤로

8. 문서 속성(가장 복잡한 속성) document는 window 객체 멤버를 사용할 때 window를 생략할 수 있기 때문에 일반적으로 document를 직접 작성합니다.

(1. 쓰기: 문서에 내용을 씁니다. writeln은 끝에 캐리지 리턴이 추가된다는 점을 제외하면 쓰기와 유사합니다. (2. (3. onclick 및 기타 이벤트에 작성된 코드는 페이지의 콘텐츠를 플러시하며, 페이지가 로드되면 쓰기가 원본 콘텐츠와 통합됩니다.

(4.

사례 1:


코드 복사

코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다.

getElementByName



getElementByName의 예< / title> C#의 foreach와 달리 for (var r in radios)는 각 요소를 순회하지 않지만 키<BR> for (var r in radios) {<BR> Alert(r.value);< : 🎜>          } <BR> }<BR> 함수 btnClick2() {<BR> var inputs = document.getElementsByTagName("input");<BR> for (var i = 0; i < inputs.length; i ) {<BR> var 입력 = 입력(i);<BR>                                                                                                                                                    lt ;body><br>  <input type="radio" name="gender" value="남성" />남성<br>  <input type="radio " name="gender" value="여성" / >여성<br>  <input type="radio" name="gender" value="Confidential" />Confidential<br>  <input type="버튼 " value="click" onclick="btnClick() " /><br> " <br /><br> " <input type="text" /><br /><br> " <input type="text" /><br /><br>  <input type="text" /><br /><br>  <input type="text" / ><br /><br>  <input type ="text" /><br /><br>  <input type="button" value="bytagname" onclick="btnClick2() " /><br> </body><br> </html><br><br><br>사례 3: <br><br><br><br><br>코드 복사<br><br><br> 코드는 다음과 같습니다.<br><div class="codebody" id="code77712"> <br>getElementByTagName <br> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- Transitional.dtd"><br> <html xmlns="http://www.w3.org/1999/xhtml"><br> <head><br>     <title>getElementByTagName
    
 

     
    
    
    
      
 

案例4:
复主代码 代码如下:

프로토콜 대기 타이머 읽기


                                                                                                             
//만약 웹 페이지가 매우 느리고 시간이 초과될 수 있습니다. 서버가 실행 중일 때 컨트롤이 로드되지 않았습니다!
                                                                                                             >                                                     값 = "계약서를 읽고 동의하세요(" leftTime "초 남음)";
                     leftTime--;         >                                   gt;
< body>

     




사례 5:




코드 복사


코드는 다음과 같습니다.

미용시계



다오물에 오신 것을 환영합니다. 내 블로그에 감사드립니다






< ;/html>


16. 양식 양식: 양식 개체는 양식의 Dom 개체입니다.

메서드: submit()은 양식을 제출하지만 onsubmit 이벤트를 트리거하지 않습니다. 자동 게시를 구현합니다. 즉, 제출 버튼이 제출된 후에만 제출하는 대신 포커스가 컨트롤을 떠난 직후에 페이지가 제출됩니다. 커서가 떠나면 onblur 이벤트가 트리거되고 양식의 제출 메서드가 호출됩니다. 흐리게 하다. submit을 클릭하면 폼의 onsubmit 이벤트가 발생하며, 데이터에 문제가 있는 경우 false를 반환하여 제출을 취소할 수 있습니다.

사례 1:




코드 복사

코드는 다음과 같습니다.

양식



다오물 블로그에 오신 것을 환영합니다. 다시 한번 환영합니다. 감사합니다(양식 제출 4)


                                                                                                                  " ")" 값 = "버튼" /& gt;
& lt; 입력 유형 = "버튼" onClick = "Document.GetelementByid('BTN1'). .net( 텍스트 상자가 입력 된 후 이동 된 Onblur 메소드의 제출 호출도 마찬가지입니다. >
*JavaScript에서 정규식 클래스를 생성하는 방법:
var regex = new RegExp("\d{5}") 또는 var regex = /d{5}/
/ Expression/은 JavaScript입니다 구문
에서 제공하는 것은 정규식 작성을 단순화하기 위해 특별히 제공되는 것입니다. //로 작성된 정규식은 이스케이프 문자를 걱정할 필요가 없습니다.
*RegExp 개체의 메서드:
** test(str) 문자열 str이 IsMatch
에 해당하는 정규 표현식과 일치하는지 확인합니다. var regex = /
Alert(regex) . test("a@b.com"));
Alert(regex.test("ab.com"))
** exec(str)은 검색 및 일치를 수행하며 반환 값은 일치 결과(*)
** 컴파일 표현식을 컴파일하여 실행 속도를 향상시킵니다. ( * )
*String 개체는 호출을 단순화하기 위해 RegExp 클래스를 래핑하는 것과 동일한 정규식과 관련된 몇 가지 메서드를 제공합니다.
match(regexp)는 exec
호출과 동일합니다.
var s = "aaa@163.com";
var regex = /(. )@(. )/
var match = s.match(regex); $1 ", 서버: " RegExp.$2); 사례 1:





코드 복사


코드는 다음과 같습니다.


정규 표현식



                                                                                                           var regex = /(.)@(.) /;
s.match (정규식)
경고(정규식 $ 1);                 알림(RegExp.$2);                                                                                                 ; /html>


18. 브라우저별 차이점



19. 키보드 코드 조작 및 금융 상자 케이스:

사례 1:

금융 관련 시스템에서 금액을 포함하는 텍스트 상자에는 다음 요구 사항이 있습니다.

*금액 텍스트 상자를 입력하고 중국어 입력 방법을 사용하지 마세요. 숫자가 아닌 문자는 입력할 수 없습니다. 텍스트 상자는 오른쪽 정렬되어 있으며 입력 방법 비활성화: style=" ime-mode:disabled"
* 잘못된 값을 입력하는 것은 금지되어 있습니다. 이러한 값만 입력할 수 있습니다. (k == 9) || (k == 13) ||

(k==46)||(k==8) ||( k==189)||(k==109)||(k==190)||(k==110)|| (k>=48 &&

k<=57)|| (k> =96 && k<=105)||(k>=37 && k<=40) . onkeydown="return

numonKeyDown()" 이벤트 응답 함수와 이벤트 응답 함수에 의해 호출되는 함수를 구별하기 위해 onkeydown="numonKeyDown()"을 쓰지 마십시오.

* 붙여넣기 비활성화(훌륭한 테스터), 를 사용하여 페이스트보드의 값을 가져온 다음 각 문자를 순회하여 유효한 값인지 확인합니다. 모든 것이 유효한 값인 경우에만 붙여넣기가 허용됩니다. 불법적인 값이 있습니다. 붙여넣기가 금지됩니다. charAt, charCodeAt 메소드를 사용하여 1000번째 자리를 추가합니다

* 포커스가 있을 때 천분의 일 자리 없이 왼쪽 정렬, 포커스가 없을 때 오른쪽 정렬: this.style.textAlign='right'




코드 복사


코드는 다음과 같습니다.


재무 텍스트 상자 설정




<제목> ;다오물 블로그에 오신 것을 환영합니다. 다시 한번 환영합니다. 감사합니다
                                                             
var k = window.event .keyCode;
return isValidNum(k);
}
//여부 결정 k는 합법적입니다. Ascii
function isValidNum(k) {
return ((k == 9) || (k == 13) || (k == 46) || (k == 8) || (k == 189) || (k == 190) || (k == 110) || (k >= 48 ;= 96 && k <= 105) || (k >= 37 && k <= 40));
}
//1000분의 1 추가
function commafy(n) {
(d{3}) $)/g;
                              //var n1 = n.replace(/^(d )/((.d )?)$/,function(s,s1,s2){return s1 .replace(re,"$,") s2;});
re = /(d{1,3})(?=(d{3}) (?:$|D))/g;
            n1 = n.replace(re, "$1,")                                                                           { 🎜> var asc = text.charCodeAt(i); //charAt→"3", charCodeAt()는 ASCII 코드를 가져옵니다.
if (!isValidNum(asc)) { //잘못된 값이 발견되면 내용은 붙여넣기를 불법으로 간주합니다. false 반환
false 반환;
}
                                                                            > -align: right" onkeydown="var k=window.event.keyCode; if((k == 9) || (k == 13) || (k==46)||(k==8)| |(k==189)||(k==109)||(k== 190)||(k==110)|| (k>=48 && k<=57)||(k>= 96 && k<=105)||(k>=37 && k<=40)) {}else{return false;}" />


  입력 방법 비활성화:



  숫자가 아닌 문자를 입력하고 붙여넣을 수 없습니다:



  천분의 일 추가 및 제거:
onblur="this.value=commafy(this.value);this.style.textAlign= 'right';"
onfocus="this.style.textAlign='left'; this.value=this.value.replace(/,/g,'')" />






코드 복사 코드는 다음과 같습니다.

지방 및 도시 선택




다오물 블로그에 오신 것을 환영합니다. 다시 오신 것을 환영합니다. 감사합니다(도 및 도시 선택)

 

 
    

        

         < label for="p1">샤워하기

        

        

        


            
            
            
        


    

 
 

案例4:权限选择
复代码码 代码如下:

권한 선택



다오물 블로그에 오신 것을 환영합니다. , 다시 오신 것을 환영합니다. 감사합니다(권한 선택)
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿