링 진행률 표시줄을 구현하는 CSS3 메서드
처음 이 링을 작성하기 시작했을 때, 게시물에 있는 CSS 코드를 참조하고 필요에 따라 변경했습니다. 링이 완벽하게 회전할 수 있다는 것을 알았지만 백분율로 제어할 수는 없는 것 같았습니다. , 그래서 포기하고 기성품을 복사했습니다. 여전히 두뇌를 사용해야합니다.
구현 원리
CSS에서 원을 구현하는 방법은 여러 가지가 있는데 대부분 테두리(border) + 클리핑(clip:ect())으로 구현되는 것 같아서 저도 이 방법을 사용하겠습니다.
주로 레이아웃 문제인 것 같아요. 대부분의 원 진행률 표시줄은 비슷하지만 레이아웃과 회전 방법이 다릅니다
// html <p id="loading" class="loading"> <p class="circle"> <p class="percent left"></p> <p class="percent right wth0"></p> </p> <p class="per"></p> </p> // css .loading { position: fixed; top: 50%; left: 50%; overflow: hidden; z-index: 9999; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } .circle{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border:10px solid #fff; clip:rect(0,100px,100px,50px); } .clip-auto{ clip:rect(auto, auto, auto, auto); } .percent{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; top:-10px; left:-10px; } .left{ -webkit-transition:-webkit-transform ease; transition:-webkit-transform ease; transition:transform ease; border:10px solid #E54B00; clip: rect(0,50px,100px,0); } .right{ border:10px solid #E54B00; clip: rect(0,100px,100px,50px); } .wth0{ width:0; } // js $('.left').animate({ deg: per*3.6 }, { step: function(n, fx) { if(per>180){ $('.circle').addClass('clip-auto'); $('.right').removeClass('wth0'); } $(this).css({ "-webkit-transform":"rotate("+n+"deg)", "-moz-transform":"rotate("+n+"deg)", "transform":"rotate("+n+"deg)" }); }, duration:500 })
자르면 .circle(왼쪽 및 오른쪽 원의 상위 요소)만 가능합니다. 왼쪽 링이 표시되고 오른쪽 링의 너비는 바로 0입니다. 진행률 표시줄이 50%에 도달하면, 즉 왼쪽 링의 회전 각도는 transform:rotate(180deg)이고 자르기는 입니다. 원이 제거 (.clip-auto)되면 오른쪽 링의 너비가 복원됩니다. 이것은 기본적으로 루틴입니다.
jQuery의 애니메이션 메소드인 animate()의 step 속성
$(this).css({ "-webkit-transform":"rotate("+n+"deg)", "-moz-transform":"rotate("+n+"deg)", "transform":"rotate("+n+"deg)" });
만 사용하여 각도의 회전을 제어한다면 애니메이션이 없어 뻑뻑해 보일 수 있습니다. 이때 애니메이션을 추가하는 것을 고려해야 합니다. , jq는 animate를 제공하여 숫자 값에 대해서만 애니메이션을 생성할 수 있지만 문자열 유형 값에 대해서는 애니메이션을 생성할 수 없습니다.
이때 animate의 step 속성을 사용해야 합니다.
단계 소개
animate의 진행 속성은 숫자 값의 속성을 연산하는 데 자주 사용되지만, 문자열 값의 속성을 연산하는 데는 사용할 수 없습니다. 이때 단계 속성이 필요합니다.
step은 이름에서 알 수 있듯이 애니메이션을 단계로 분해하는 것입니다. animate 방법에서 각 단계가 어떻게 분해되는지는 우리가 설정한 CSS 속성 값과 애니메이션 지속 시간에 의해 결정되는 것이 아니라 시스템에 의해 결정됩니다.
$(".left").animate({left:50},{ duration:100, step:function(now,fx){ console.log(now) //控制台输出,看看这个动画被分解成了几个片段 } });
여기서 각도에 값이 할당되는 이유를 주로 설명합니다. 그런데 값을 몇 조각으로 나누는지는 인간이 통제할 수 없습니다.
단계 메서드의 두 번째 매개 변수 - fx
$(".demo").animate({ first:2, second:10 }, { step:function(n,fx){ // 动画元素的每个动画属性每一次动画效果的执行都将调用的函数。第1个参数是当前动画正在改变的属性的实时值(每1次动画过程中,属性值的实时反馈呈现);第2个参数为修改Tween 对象提供了一个机会来改变animate第1个参数中设置的属性在动画结束时的值。 // fx: jQuery.fx 原型对象的一个引用,其中包含了多项属性,比如 // 执行动画的元素:elem; // 动画正在改变的属性:prop; // 正在改变属性的当前值:now; // 正在改变属性的结束值:end; // 正在改变属性的单位:unit;等 // 可在这里改变animate第1个参数中设置的属性second在动画结束时的值 if(fx.prop=="second"){fx.end=5} console.log(fx.prop+": "+n); }, duration:2000 })
관련 권장 사항:
캔버스에 호 및 링 진행률 표시줄을 구현하는 예제 방법에 대한 자세한 설명
CSS 클립을 사용하여 오디오 재생 링 진행률 표시줄 구현 튜토리얼 예
위 내용은 링 진행률 표시줄을 구현하는 CSS3 메서드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.
