這樣的百分比曲線怎樣才能讓使用CSS3我怎樣才能讓使用CSS3
-1
A
回答
0
看到這個link
HTML
<div class="container">
<div id="percent"></div>
<svg id="svg"></svg>
<p><label for="perc-input">Percent:</label><input maxlength="2" type="text" id="input" value="65"/></p>
<a class="btn" id="run">Run</a>
</div>
CSS
這樣的比例曲線@import url(http://fonts.googleapis.com/css?family=Share+Tech);
body {
background: #efefef;
}
.container {
width: 400px;
height: 200px;
position: relative;
margin: auto;
font-family: 'Share Tech', sans-serif;
color: #444;
}
#percent, #svg {
width: 200px;
height: 200px;
position: absolute;
top: 0;
left: 0;
}
#percent {
line-height: 20px;
height: 20px;
width 100%;
top: 90px;
font-size: 43px;
text-align: center;
color: #3da08d;
opacity: 0.8
}
p, .btn {
position: relative;
left: 220px;
width: 200px;
display: block;
text-transform: uppercase;
font-size: 24px;
top: 30px;
}
.btn {
text-align: center;
background: #5fc2af;
color: #fff;
width: 120px;
height: 37px;
line-height: 37px;
cursor: pointer;
}
input {
border: 0;
outline: 0;
border-bottom: 1px solid #eee;
width: 30px;
font-family: helvetica;
font-size: 24px;
text-transform: capitalise;
font-family: 'Share Tech', sans-serif;
background: transparent;
}
JS
var canvasSize = 200,
centre = canvasSize/2,
radius = canvasSize*0.8/2,
s = Snap('#svg'),
path = "",
arc = s.path(path),
startY = centre-radius,
runBtn = document.getElementById('run'),
percDiv = document.getElementById('percent'),
input = document.getElementById('input');
input.onkeyup = function(evt) {
if(isNaN(input.value)) {
input.value = '';
}
};
runBtn.onclick = function() {
run(input.value/100);
};
function run(percent) {
var endpoint = percent*360;
Snap.animate(0, endpoint, function (val) {
arc.remove();
var d = val,
dr = d-90;
radians = Math.PI*(dr)/180,
endx = centre + radius*Math.cos(radians),
endy = centre + radius * Math.sin(radians),
largeArc = d>180 ? 1 : 0;
path = "M"+centre+","+startY+" A"+radius+","+radius+" 0 "+largeArc+",1 "+endx+","+endy;
arc = s.path(path);
arc.attr({
stroke: '#3da08d',
fill: 'none',
strokeWidth: 12
});
percDiv.innerHTML = Math.round(val/360*100) +'%';
}, 2000, mina.easeinout);
}
run(input.value/100);
相關問題
- 1. 我怎樣才能開始使用CSS3
- 2. 我怎樣才能讓StackPanel使用ItemTemplate?
- 3. 我怎樣才能讓
- 4. 我怎樣才能讓這樣的
- 5. 我怎樣才能讓這個以HTML5和CSS3
- 6. 怎樣才能讓卡使用jQuery
- 7. 怎樣才能讓android中
- 8. 我怎樣才能讓在Plone
- 9. 我怎樣才能讓在ActiveReports中
- 10. 我怎樣才能讓這個更好
- 11. 我怎樣才能讓它幹?
- 12. 我怎樣才能讓-drawRect執行?
- 13. 我怎樣才能讓mysql2安裝?
- 14. 我怎樣才能讓貓殼循環?
- 15. 我怎樣才能讓在裝配
- 16. 我怎樣才能讓瀏覽器
- 17. 我怎樣才能讓CSS動畫
- 18. 我怎樣才能讓joomla3.x
- 19. 我怎樣才能讓preg_match_all陣列
- 20. 我怎樣才能讓下BackgroundWorker的
- 21. 我怎樣才能讓深性質
- 22. 我怎樣才能讓吐司消失?
- 23. 我怎樣才能讓$ routeProvider在angularjs
- 24. 我怎樣才能讓課程「重設」?
- 25. 我怎樣才能讓側邊欄
- 26. 我怎樣才能讓這更幹?
- 27. 我怎樣才能讓Lua工作?
- 28. 我怎樣才能讓這樣的使用CSS和DIV
- 29. 使用vue-router,我怎樣才能讓菜單選擇樣式?
- 30. 我怎樣才能使PHP
你應該嘗試的東西你要的代碼之前。此外,請告訴我們您嘗試了什麼,您的期望以及發生了什麼,以及您使用的代碼。 – usernolongerregistered
你究竟是什麼意思?請提供更多細節和/或迄今爲止嘗試的內容。 http://stackoverflow.com/help/how-to-ask可能會有幫助:) –
CSS是這個錯誤的工具。改用SVG。 – Spudley