好的,所以我们有一个简单的用户信息编辑页面。我想创建一个切换按钮,将个人资料图片边框半径从 0 切换到 25 并向后切换。但是第二部分不起作用。我创建了 if
来检查边界半径是否已经是 25,所以它将变为 0,但它不起作用。这是我的代码
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="buildImage();">
<div class="contents" id="content"></div>
<button onclick="changeImage()">NextImage</button>
<button onclick="changeShape()">ChangeShape</button>
<button onclick="uploadImage()">Upload Image</button>
</body>
<script>
var images = [ 'profile1.png', 'profile2.png','profile3.png'];
var index = 0;
var array_length = 3;
function buildImage() {
var img = document.createElement('img')
img.src = images[index];
document.getElementById('content').appendChild(img);
}
function changeImage(){
var img = document.getElementById('content').getElementsByTagName('img')[0]
index++;
index = index % array_length;
img.src = images[index];
}
function changeShape(){
var shape = document.getElementById('content').getElementsByTagName('img')[0].style.borderRadius = "25px";
if(shape.style.borderRadius == 25){
var shape2 = document.getElementById('content').getElementsByTagName('img')[0].style.borderRadius = "0px";
}
}
function uploadImage() {
images.push("profile4.png");
array_length++;
}
</script>
</html>
知道为什么它不起作用吗?
从表面上看,您在函数中无用地分配变量。
无需声明 shape2。只需声明一次形状,然后用它来检查。还要确保检查 shape.style.borderRadius 与“25px”之类的字符串,因为它将被返回。
尝试这样的事情:
function changeShape(){
var shape = document.getElementById('content').getElementsByTagName('img')[0];
if(shape.style.borderRadius == "25px"){
shape.style.borderRadius = "0px";
}else{
shape.style.borderRadius = "25px";
}
}
我是一名优秀的程序员,十分优秀!