单击将 img 更改为新的 img 并返回原始图像

onClick change img to new img and back to original

本文关键字:img 返回 原始 图像 单击      更新时间:2023-09-26

这是通过使用ng-click="promjeni1()"单击图像触发的函数,它用zkockice[].src之一更改该sk1 img也是图像,是否有可能在第二次单击时在同一函数中更改回原始img,它将像选择/取消选择一样使用,我可以为更改的img分配一些值,aka 像"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;
   }
}

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

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)

现在有了新问题,您的问题的答案:

您需要存储旧的 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)
  }
}

也许你可以做点什么来达到这个效果(如果我离得很远,请纠正我)

//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">