JQuery 시작 - 진행률 표시줄

17850 단어 jquery
점점 일반적인javascript는 리듬을 따라가지 못한다고 느낀다. 진급을 배우려고 한다. JQuery부터 배우자.
JQuery는 Javascript 라이브러리로 JQuery에서 사용할 수 있습니다.com 다운로드, 로컬에 놓고 문장으로 인용합니다.jquery를 다운로드하고 싶지 않으면 웹에 있는 jquery 라이브러리를 인용하고 구글이나 마이크로소프트 서버에서 그들의 jquery 라이브러리를 인용할 수 있습니다.구글의 jquery 라이브러리 참조: http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">마이크로소프트의 jquery 라이브러리 인용: http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">구글이나 마이크로소프트의 jquery 라이브러리를 인용하는 것을 추천합니다.많은 사용자들이 다른 사이트를 방문할 때 구글이나 마이크로소프트에서 jQuery를 불러온 적이 있다.결과적으로, 그들이 사이트를 방문할 때, 캐시에서 jQuery를 불러옵니다. 이렇게 하면 불러오는 시간을 줄일 수 있습니다.또한 대부분의 CDN은 사용자가 파일을 요청할 때 가장 가까운 서버에서 응답을 되돌려 불러오는 속도를 높일 수 있도록 보장할 수 있다.모든 JQuery 함수는 document ready 함수 $(document)에 있습니다.ready(function(){--- jQuery functions go here ----});
이것은 문서가 완전히 불러오기 전에 jQuery 코드를 실행하는 것을 방지하기 위해서입니다.문서가 완전히 불러오기 전에 함수를 실행하면 작업이 실패할 수 있습니다.
Jquery 선택기는 얘기 안 할게요.두 가지 주의해야 할 부분은 모두 끝났습니다. 다음은 실례를 보여 드리겠습니다. 저는 예전에 일반적인 자바스크립트로 쓴 진도표를 jquery로 다시 한 번 썼습니다. 비록 사용하는 지식은 모두 간단하지만 쓰기에 신경을 많이 썼습니다. 왜냐하면 어떤 것들은 일반적인 자바스크립트와 다르기 때문입니다. 이것은 코드 뒤에 놓고 말합니다.다음은 진도표 전체 코드입니다.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JQuery    </title>

<!--  google jquer y-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
    var i = 0;//        

    // id="btn"   (Start  )  click  ,          
    $("#btn").click(function(){

        // id="val"   (   div)    , 3000         0px   300px
        $("#val").animate({width:'300px'},3000);
        $(this).attr("disabled",true);//  Start  
        $("#btnp").attr("disabled",false);//  Pause  
        setPercent();//  setPercent()  ,          
    });

    //       
    function setPercent()
    {
        //        
        if(i <= 100)
        {
            $("#percent").html(i+"%");//         
            i = i + 1;//      +1
            st = setTimeout(setPercent,3);// 3         ,       3    1%
        }

        //       
        else
        {
            clearTimeout(st);//         
            $("#btnc").attr("disabled",false);//  Clear  
            $("#btnp").attr("disabled",true);//  Pause  
        }
    }

    // id="btnc"   (Clear  )  click  ,         
    $("#btnc").click(function(){
        i = 0;//       
        $("#val").css("width","0px");//     
        $("#percent").html("0%");//       
        $("#btnp").val("Pause");//Pause  value   "Pause"
        $("#btn").attr("disabled",false);//  Start  
        $("#btnp").attr("disabled",true);//  Pause  
        $("#btnc").attr("disabled",true);//  Clear  
    });

    // id="btnp"   (Pause  )  click  ,            
    $("#btnp").click(function(){
        //      Pause,          
        if("Pause"  == $("#btnp").val())
        {
            $("#val").stop();//       
            clearTimeout(st);//       
            $("#btnp").val("Go on");//       Go on
            $("#btnc").attr("disabled",false);//  Clear  
        }

        //      Go on,          
        else
        {
            i = parseInt(delEnd($("#percent").html()));//            ,    ,     
            var temp = 30 * (100 - i);//        
            $("#val").animate({width:'300px'}, temp);//    
            setPercent();//       
            $("#btnp").val("Pause");//       "Pause"
            $("#btnc").attr("disabled",true);//  Clear  
        }
    });    

    //                
    function delEnd(str)
    {
        var temp="";
        for(var i=0; i < str.length-1; i++)
        {
            temp=temp+str[i];
        }
        return temp;
    }
});
</script>
</head>

<body>
<div id="bar" style="width:300px; height:30px; border:solid 1px; float:left;">
  <div id="val" style="height:100%; background-color:#03F; width:0px;"></div>
</div>
<div id="percent" style="float:left; line-height:30px;">0%</div>
<div style="clear:both"></div>
<br />
<input id="btn" type="button" value="Start" />
<br />
<input id="btnc" type="button" value="Clear" disabled />
<br />
<input id="btnp" type="button" value="Pause" disabled />
</body>
</html>

이번에는 주로 백분율의 증가를 실현하는 데 시간이 걸렸다. set Timeout () 함수를 사용해야 하기 때문이다. jquery에서 set Timeout (code, delay) 안의 코드가 함수라면 함수 이름만 쓰면 되고 인용부호도 필요 없고 괄호도 필요 없다.예를 들어functionshow()가 있는데 500ms를 설정한 후에 show()를 호출하면 jquery에 이렇게 써야 한다. set Timeout(show, 500).전통적인 자바스크립트에서는 setTimeout("show()", 500)이라고 쓴다.이 점은 setInterval()에서도 마찬가지입니다.

좋은 웹페이지 즐겨찾기