onClick将img更改为新的img并返回原始版本

时间:2016-02-10 12:27:51

标签: javascript angularjs onclick ionic-framework

这是用ng-click =“promjeni1()”点击图片触发的功能,它改变了sk1 img与zkockice []。src中的一个也是图像,是否有可能在同一个函数上第二次单击以更改回原始img,它将像select / deselect一样使用,并且我可以为更改的img指定一些值,也可以选择像'true'一样,供以后使用,所以我可以做一些事情,如果选择img做... ..

$scope.promjeni1 = function () {
    if(sk1 === kockice[0].src) {
      sk1.src = document.getElementById("sk1").src = zkockice[0].src;
      } else if(sk1 === kockice[1].src) {
      sk1 = document.getElementById("sk1").src = zkockice[1].src;
      } else if(sk1 === kockice[2].src) {
      sk1 = document.getElementById("sk1").src = zkockice[2].src;
      } else if(sk1 === kockice[3].src) {
      sk1 = document.getElementById("sk1").src = zkockice[3].src;
      } else if(sk1 === kockice[4].src) {
      sk1 = document.getElementById("sk1").src = zkockice[4].src;
      } else if(sk1 === kockice[5].src) {
      sk1 = document.getElementById("sk1").src = zkockice[5].src;
   }
}

2 个答案:

答案 0 :(得分:0)

男人,这段代码看起来很混乱,我认为如果你制作一个这样的方法会更好:

function getImgSrc(str){
  for (var i = 0; i < kockice.length; i++) {
    if(kockice[i] == str) return kockice[i].src;
  }
}

你这样使用:

sk1 = document.getElementById("sk1").src = getImgSrc(sk1)

现在用新的conde回答你的问题:

你需要存储旧的src才能返回它。

像这样:

function getImgSrc(str){
  for (var i = 0; i < kockice.length; i++) {
    if(kockice[i] == str) return kockice[i].src;
  }
}
var oldSrc = null;
$scope.promjeni1 = function () {
  if(oldSrc){
    sk1 = document.getElementById("sk1").src = oldSrc;
    oldSrc = null;
  }else{
    oldSrc = sk1 = document.getElementById("sk1").src = getImgSrc(sk1)
  }
}

答案 1 :(得分:0)

也许你可以为此效果做点什么 (如果我要离开,请纠正我)

//this is just an idea

function(){
if(getElementByTag("click"){
do something
click.attribute = "notclick";
}

if(getElementByTag("notclicked"){
do something
click.attribute = "click";
}
}


// tag in your html code
<img id="clicked" src="" title="image">