>웹 프론트엔드 >JS 튜토리얼 >아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과

아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과

WBOY
WBOY원래의
2016-05-16 19:14:501084검색
아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과
아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과
아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과
아름다운 캡슐화된 진행률 표시줄_이미지 특수 효과
코드 복사 코드는 다음과 같습니다:

<본문>



<스크립트>
document.execCommand("BackgroundImageCache",false,true);

function ProcessBar(){
   this.width = 256;
   this.height = 18;
   this.top = 0;
   this.left = 0;
   this.backImg = "process_back.gif";
   this.foreImg = "process.gif";
   this.backDiv = document.createElement("div");
   this.foreDiv = document.createElement("div");
   this.fontDiv = document.createElement("div");

   this.isMoving = false;
   this.nowLength = 0;
   this.moveInterval = 100;
   this.moveRange = 1;
   this.timer;

   ProcessBar.nowObj = 이;

   this.init = function(){
        this.foreDiv.style.BackgroundImage = "url("   this.foreImg   ")";
        this.foreDiv.style.BackgroundRepeat = "반복 없음";
        this.foreDiv.style.position = "절대";
        this.foreDiv.style.width = this.nowLength;
        this.foreDiv.style.height = this.height;
        this.foreDiv.style.top = 0;
        this.foreDiv.style.left = 0;

        this.fontDiv.style.Background = "투명";
        this.fontDiv.style.position = "절대";
        this.fontDiv.style.width = this.width;
        this.fontDiv.style.height = this.height;
        this.fontDiv.style.top = 2;
        this.fontDiv.style.left = 0;
        this.fontDiv.style.textAlign = "center";
        this.fontDiv.style.fontSize = "13px";
        this.fontDiv.appendChild(document.createTextNode(" "));

        this.backDiv.style.BackgroundImage = "url("   this.backImg   ")";
        this.backDiv.style.BackgroundRepeat = "반복 없음";
        this.backDiv.style.position = "절대";
        this.backDiv.style.width = this.width;
        this.backDiv.style.height = this.height;
        this.backDiv.style.top = this.top;
        this.backDiv.style.left = this.left;

        this.backDiv.appendChild(this.foreDiv);
        this.backDiv.appendChild(this.fontDiv);

        document.body.appendChild(this.backDiv);
   }

   this.changeMode = function(){
        this.isMoving = !this.isMoving;

        if(this.isMoving){
            this.timer = window.setInterval(ProcessBar.nowObj.moving, this.moveInterval);
        }else{
            window.clearInterval(this.timer);
        }
   }

   this.moving = function(){
        ProcessBar.nowObj.nowLength  = ProcessBar.nowObj.moveRange;
        ProcessBar.nowObj.foreDiv.style.width = ProcessBar.nowObj.nowLength;

       ProcessBar.nowObj.fontDiv.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.width )*100)   "%";

        if(ProcessBar.nowObj.nowLength >= ProcessBar.nowObj.width ){
           window.clearInterval(ProcessBar.nowObj.timer);
            ProcessBar.nowObj.fontDiv.firstChild.data = "완료!";
        }
   }

   
}

var processBar = new ProcessBar();
processBar.backImg = "/upload/2007415102314868.gif"; processBar.foreImg = "/upload/2007415102319734.gif"; processBar.top = 100;
processBar.left = 20;
processBar.init();




[Ctrl A 전체选 注:如需引入외부Js需刷新才能执行
]<script> document.execCommand("BackgroundImageCache",false,true); function ProcessBar(){ this.width = 256; this.height = 18; this.top = 0; this.left = 0; this.backImg = "process_back.gif"; this.foreImg = "process.gif"; this.backDiv = document.createElement("div"); this.foreDiv = document.createElement("div"); this.fontDiv = document.createElement("div"); this.isMoving = false; this.nowLength = 0; this.moveInterval = 100; this.moveRange = 1; this.timer; ProcessBar.nowObj = this; this.init = function(){ this.foreDiv.style.backgroundImage = "url(" + this.foreImg + ")"; this.foreDiv.style.backgroundRepeat = "no-repeat"; this.foreDiv.style.position = "absolute"; this.foreDiv.style.width = this.nowLength; this.foreDiv.style.height = this.height; this.foreDiv.style.top = 0; this.foreDiv.style.left = 0; this.fontDiv.style.background = "transparent"; this.fontDiv.style.position = "absolute"; this.fontDiv.style.width = this.width; this.fontDiv.style.height = this.height; this.fontDiv.style.top = 2; this.fontDiv.style.left = 0; this.fontDiv.style.textAlign = "center"; this.fontDiv.style.fontSize = "13px"; this.fontDiv.appendChild(document.createTextNode(" ")); this.backDiv.style.backgroundImage = "url(" + this.backImg + ")"; this.backDiv.style.backgroundRepeat = "no-repeat"; this.backDiv.style.position = "absolute"; this.backDiv.style.width = this.width; this.backDiv.style.height = this.height; this.backDiv.style.top = this.top; this.backDiv.style.left = this.left; this.backDiv.appendChild(this.foreDiv); this.backDiv.appendChild(this.fontDiv); document.body.appendChild(this.backDiv); } this.changeMode = function(){ this.isMoving = !this.isMoving; if(this.isMoving){ this.timer = window.setInterval(ProcessBar.nowObj.moving, this.moveInterval); }else{ window.clearInterval(this.timer); } } this.moving = function(){ ProcessBar.nowObj.nowLength += ProcessBar.nowObj.moveRange; ProcessBar.nowObj.foreDiv.style.width = ProcessBar.nowObj.nowLength; ProcessBar.nowObj.fontDiv.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.width)*100) + "%"; if(ProcessBar.nowObj.nowLength >= ProcessBar.nowObj.width){ window.clearInterval(ProcessBar.nowObj.timer); ProcessBar.nowObj.fontDiv.firstChild.data = "Complete!"; } } } var processBar = new ProcessBar(); processBar.width=327 processBar.backImg = "/upload/2007415102319929.jpg"; processBar.foreImg = "/upload/2007415102319777.jpg"; processBar.top = 100; processBar.left = 20; processBar.init(); </script>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.