好的,我们有一个简单的用户信息编辑页面。我想创建一个切换按钮,将轮廓图像边界半径从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>
为什么它不起作用的任何想法?
答案 0 :(得分:4)
你在函数中通过它的外观无用地分配变量。
无需声明shape2。只需声明一次形状,然后使用它来检查。另外,请确保针对像“25px”这样的字符串检查shape.style.borderRadius,因为它将被返回。
尝试这样的事情:
function changeShape(){
var shape = document.getElementById('content').getElementsByTagName('img')[0];
if(shape.style.borderRadius == "25px"){
shape.style.borderRadius = "0px";
}else{
shape.style.borderRadius = "25px";
}
}