小能豆

图像样式不起作用,我无法调整图像大小

javascript

我使用 DOM 操作来让图像在单击 div 和按钮时显示。唯一的问题是我不知道如何调整图像大小。当我删除“style = display:”none”;”时 线条尺寸可以正常工作,但图像不会隐藏,直到您清除它并再次单击 div & 按钮。我不知道如何解决这个问题

var data = [];

function showEnd1() {
  for (var i = 0; i < data.length; i++) {

    var showImage = document.createElement("img");
    showImage.id = "new" + data[i];
    showImage.classList = ".ending1";
    showImage.innerHTML = data[i];
    showImage.src = src="media/end1.png";

    var results = document.querySelector("#results");
        results.appendChild(showImage); 
  }

 data = [];

}

function showEnd2() {
    for (var i = 0; i < data.length; i++) {

      var showImage = document.createElement("img");
      showImage.id = "new" + data[i];
      showImage.classList = ".ending2";
      showImage.innerHTML = data[i];
      showImage.src = src="media/end2.png";

      var results = document.querySelector("#results");
          results.appendChild(showImage); 

    }

   data = [];

  }

  function showEnd3() {
    for (var i = 0; i < data.length; i++) {

      var showImage = document.createElement("img");
      showImage.id = "new" + data[i];
      showImage.classList = ".ending3";
      showImage.innerHTML = data[i];
      showImage.src = src="media/end3.png";

      var results = document.querySelector("#results");
          results.appendChild(showImage); 

    }

   data = [];

  }

  function showEnd4() {
    for (var i = 0; i < data.length; i++) {

      var showImage = document.createElement("img");
      showImage.id = "new" + data[i];
      showImage.classList = ".ending4";
      showImage.innerHTML = data[i];
      showImage.src = src="media/end4.png";

      var results = document.querySelector("#results");
          results.appendChild(showImage);

    }

   data = [];

  }

  function showEnd5() {
    for (var i = 0; i < data.length; i++) {

      var showImage = document.createElement("img");
      showImage.id = "new" + data[i];
      showImage.classList = ".ending5";
      showImage.innerHTML = data[i];
      showImage.src = src="media/end5.png";

      var results = document.querySelector("#results");
          results.appendChild(showImage); 

    }

   data = [];

  }

  function showEnd6() {
    for (var i = 0; i < data.length; i++) {

      var lastLetter = data[i].charAt(data[i].length - 1);

      var showImage = document.createElement("img");
      showImage.id = "new" + data[i];
      showImage.classList = ".ending" + lastLetter;
      showImage.innerHTML = data[i];
      showImage.src = src="media/end" + lastLetter + ".png";

      var results = document.querySelector("#results");
          results.appendChild(showImage); 

    }

   data = [];

  }

function clearResult () {
 /* data = []; */

  var results = document.getElementById("results");
    results.innerHTML = "";

}

function addToArray() {
    data.push(this.innerHTML);

}

window.onload = function end6() {
  var btnShow = document.getElementById("show");
  btnShow.addEventListener("click", showEnd6);


  var btnClear = document.getElementById("clear");
  btnClear.addEventListener("click", clearResult)

  var btnEnd = document.querySelectorAll("[class^=ending]");

  for (var i = 0; i < btnEnd.length; i++) {
      btnEnd[i].addEventListener("click", addToArray);
  }
}
<h3>Pick an end image</h3>
<div class="box" id="img">
    <div id="end1" class="ending1">Sub End - end 1</div>
    <div id="end2" class="ending2">Knife End - end 2</div>
    <div id="end3" class="ending3">Safe End - end 3</div>
    <br><br>
    <div id="end4" class="ending4">Axe End - end 4</div>
    <div id="end5" class="ending5">Coffin End - end 5</div>
    <div id="end6" class="ending6">True End - end 6</div>

    <br><br>
    <button id="show">Show</button>
    <button id="clear">Clear</button>
</div>

<h3>Result</h3>
<div class="box" id="results">

<img class="endone" id="picture1" src="https://placehold.co/300x200" style = "display: none;">

<img class="endtwo" id="picture2" src="https://placehold.co/300x200" style = "display: none;">

<img class="endthree" id="picture1" src="https://placehold.co/300x200" style = "display: none;">

<img class="endfour" id="picture2" src="https://placehold.co/300x200" style = "display: none;">

<img class="endfive" id="picture1" src="https://placehold.co/300x200" style = "display: none;">

<img class="endsix" id="picture2" src="https://placehold.co/300x200" style = "display: none;">
</div>

阅读 99

收藏
2024-02-28

共1个答案

小能豆

您可以通过设置图像的widthheight属性来调整图像的大小。在您的JavaScript代码中,您可以像这样设置图像的大小:

showImage.style.width = "100px";
showImage.style.height = "100px";

这将使图像的宽度和高度都变为100像素。您可以根据需要调整这些值。因此,您的showEnd1函数可以修改为以下形式:

function showEnd1() {
  for (var i = 0; i < data.length; i++) {
    var showImage = document.createElement("img");
    showImage.id = "new" + data[i];
    showImage.classList = ".ending1";
    showImage.src = "media/end1.png";
    showImage.style.width = "100px"; // 设置图像宽度
    showImage.style.height = "100px"; // 设置图像高度

    var results = document.querySelector("#results");
    results.appendChild(showImage);
  }
  data = [];
}

这样就可以在单击 div 和按钮时显示调整大小的图像。记得把style="display: none;"删除,这样图像就会显示出来了。

2024-02-28