CSS 및 HTML 기반 막대 값으로 백분율 값을 나타내는 프로젝트를 작업 중입니다. 코드는 다음과 같습니다CSS 키 프레임 : 페이지로드시 인라인 값으로 애니메이션/전환
HTML : CSS
<div class="chart">
<div class="bar" style="width:43%"></div>
</div>
: 내가하고 싶은 무엇
.chart {
background-color: #DADADA;
height: 2px;
position: relative;
}
.chart .bar {
background-color: #3D98C6;
height: 100%;
}
페이지로드에 0 %에서 바 너비를 시작하는 것입니다 인라인 값에 애니메이션을 적용합니다. 값을 인라인으로 지정하여 백엔드 개발자가 Ruby on Rails에 뷰의 백분율을 출력하도록 할 수 있습니다. 나는 전환이 할 수 있다는 것을 알고, 내가 현재하고있는 중이 야 그 같은 :
CSS :
.chart .bar {
-moz-transition: width 1.25s linear;
-webkit-transition: width 1.25s linear;
-ms-transition: width 1.25s linear;
-o-transition: width 1.25s linear;
transition: width 1.25s linear;
}
body.jquery.csstransitions:not(.loaded) .chart-container .chart .bar {
width: 0% !important;
}
자바 스크립트 :
$(function() {
$('body').addClass('jquery');
// Way down in the code
$('body').addClass('loaded');
});
이 사용자가 가지고있는 동안 자바 스크립트를 지원하는 것을 말한다 , 브라우저가 CSS 전환을 지원하고 "로드 됨"클래스가 본문에 추가되지 않은 경우 모든 막대의 폭은 0 %입니다. jQuery로 .loaded를 추가하면 막대가 모두 인라인 값으로 전환됩니다.
이 방법으로 문제가되는 것은 사용자가 JavaScript를 사용할 수 있고 "jquery"및 "csstransitions"클래스가 추가되지만 그것이 도착하기 전에 어떤 이유로 중단됩니다. 클래스를 추가하는 코드는 .loaded
입니다. 그러면 막대가 모두 너비 0 %로 표시됩니다. 이 프로젝트는 많은 노력을 기울이고 있으며 자바 스크립트가 깨져 사용자가 깨진 차트를 볼 수있는 기회가 될 수 있습니다. CSS 키 프레임 애니메이션을 사용하여 0 % 너비에서 인라인 너비까지 애니메이션을 만들 수 있다면 자바 스크립트를 방정식에서 꺼내어 코드가 막대를 움직이게하거나 애니메이션없이로드 할 수 있음을 알 수 있습니다.
자바 스크립트를 사용하지 않고도 페이지로드시 폭을 애니메이션/전환하는 방법이 있습니까?
대담한 경우 '