使用切换按钮更改相框

时间:2016-05-19 19:17:00

标签: javascript html css

好的,我们有一个简单的用户信息编辑页面。我想创建一个切换按钮,将轮廓图像边界半径从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> 

为什么它不起作用的任何想法?

1 个答案:

答案 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";
  }
}