使用javascript设置动画时div内边界半径不起作用
当我通过java脚本动态更改边框宽度时,我的div内边框不起作用,但当我不使用js时,它起作用。我正在为div设置动画,以增加和减少div边框宽度。但在动画期间增加div大小时,内边框半径不会出现。 提前谢谢`使用javascript设置动画时div内边界半径不起作用,javascript,html,css,Javascript,Html,Css,当我通过java脚本动态更改边框宽度时,我的div内边框不起作用,但当我不使用js时,它起作用。我正在为div设置动画,以增加和减少div边框宽度。但在动画期间增加div大小时,内边框半径不会出现。 提前谢谢` <html> <head> <style type="text/css"> .animation{ margin:0 auto; padding:10px; width:300px; height:300px; text-align:center; v
<html>
<head>
<style type="text/css">
.animation{
margin:0 auto;
padding:10px;
width:300px;
height:300px;
text-align:center;
vertical-align:center;
}
.radius-all { border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; }
.template-bg { background: #FFF; }
.template-border { border: 10px solid rgba(100,100,100, 0.5); }
</style>
<script type="text/javascript">
var i=40;var flag=1;
function animate(){
setTimeout(function () {
document.getElementById('animation').style.border = "#CCC "+i+"px"+ " solid";/*problem here*/
document.getElementById('animation').style.width =(320-i)+'px';
document.getElementById('animation').style.height = (320-i)+'px';
if(flag)
i++;
else
i--;
if (i <40) {
if(i<0){
flag=1;
}
animate();
}else{
i=40;
flag=0;
animate();
}
}, 40)
}
</script>
</head>
<body onload="animate()">
<div class="animation body template-bg template-border radius-all" id="animation">
This is a div
</div>
</body>
</html>`
.动画{
保证金:0自动;
填充:10px;
宽度:300px;
高度:300px;
文本对齐:居中;
垂直对齐:居中;
}
.radius所有{边界半径:20px;-moz边界半径:20px;-webkit边界半径:20px;}
.template bg{background:#FFF;}
.模板边框{边框:10px实心rgba(100100,0.5);}
var i=40;var标志=1;
函数animate(){
setTimeout(函数(){
document.getElementById('animation').style.border=“#CCC”+i+“px”+“solid”;/*此处有问题*/
document.getElementById('animation').style.width=(320-i)+'px';
document.getElementById('animation').style.height=(320-i)+'px';
国际单项体育联合会(旗)
i++;
其他的
我--;
如果(i您可以使用jQuery,并且工作非常简单
这项工作的简单代码
function animate(){
var bw;
if($("#animation").css("border-radius")=="40px"){
bw=0;
}else{
bw=40
}
$("#animation").animate({"border-radius":bw,"width":320-bw,"height":320-bw},200,function(){
animate();
});
}
并为动画标记使用样式属性
#animation{
border:20px solid #ccc;
margin:0 auto;
padding:10px;
width:300px;
height:300px;
text-align:center;
vertical-align:center
}
动画没有什么问题。边界宽度只是变得比外半径大,因此内半径将为零。如果你想要到40,则显示内半径,并且只有当边界宽度为40时,内半径才为零。我如何修复它?请确定。谢谢。解决了将边界半径增加到40的问题。反对票怎么了?请回答不要投反对票,但是…问题没有明确的问题陈述,只有你说“它不起作用”。你应该描述你期望你的代码做什么,以及它做什么。你的建议行得通,但我想要div的内边界半径。你可以用边界半径替换边界宽度