亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS 點擊事件監聽器僅工作一次,并且不能與預期的 if 語句一起工作

JS 點擊事件監聽器僅工作一次,并且不能與預期的 if 語句一起工作

米脂 2023-10-17 15:50:32
我正在使用一個庫來比較不同的照片,就像“之前和之后”之類的東西,它們顯示在另一張的上面,中間有一個按鈕,您可以向左或向右拖動以查看照片差異?,F在,我想做的是實現兩個按鈕 - 一個在圖片的左側,一個在右側。當您單擊這些按鈕時,我希望照片與前兩張或后兩張發生變化。我為按鈕做了一個 if 語句,但它們無法正常工作,盡管我沒有注意到任何明顯的錯誤。HTML代碼<div id="wrapper">        <div class="arrowsContainer">             <div id="leftArrow">                <p>Left</p>            </div>        </div>        <div class="cd-image-container">            <img src="" id="originalImage" alt="Original Image">            <div class="cd-resize-img">                <img src="" id="modifiedImage" alt="Modified Image">            </div>            <span class="cd-handle"></span>        </div>        <div class="arrowsContainer">             <div id="rightArrow">                <p>Right</p>            </div>        </div>    </div>JavaScript 代碼let originalImage = document.querySelector('#originalImage');let modifiedImage = document.querySelector('#modifiedImage');document.querySelector('#leftArrow').addEventListener("click", function(){    if ((modifiedImage.src = "img/3.jpg") && (originalImage.src = "img/4.jpg")){        modifiedImage.src = "img/1.jpg";        originalImage.src = "img/2.jpg";      }});document.querySelector('#rightArrow').addEventListener('click', function(){    if ((modifiedImage.src = "img/1.jpg") && (originalImage.src = "img/2.jpg")){        modifiedImage.src = "img/3.jpg";        originalImage.src = "img/4.jpg";    }     if ((modifiedImage.src = "img/3.jpg") && (originalImage.src = "img/4.jpg")){        modifiedImage.src = "img/5.jpg";        originalImage.src = "img/6.jpg";    }    if ((modifiedImage.src = "img/5.jpg") && (originalImage.src = "img/6.jpg")){        modifiedImage.src = "img/7.jpg";        originalImage.src = "img/8.jpg";        }});現在,如果我打開頁面,就會顯示照片 1 和 2。如果我點擊“右”按鈕,它將顯示圖片 7 和 8,從那里,如果我點擊“左”按鈕,它將再次顯示圖片 1 和 2,盡管我在“左”上的條件按鈕甚至不包括您在圖 7 和 8 中的場景。請幫忙,我真的不明白發生了什么
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

我認為您想要實現的是,當您單擊按鈕時right您想要顯示接下來的兩個圖像,當您單擊按鈕時prev您想要顯示前兩個圖像。如果是這種情況,那么您可以檢查我的解決方案。


這是js文件。


let originalImage = document.querySelector("#originalImage");

let modifiedImage = document.querySelector("#modifiedImage");


const totalImages = 8;

let currentCount = 0;

document.querySelector("#leftArrow").addEventListener("click", function() {

  currentCount = (currentCount - 2 + totalImages) % totalImages;

  originalImage.src = `./img/${currentCount + 1}.jpg`;

  modifiedImage.src = `./img/${currentCount + 2}.jpg`;

});


document.querySelector("#rightArrow").addEventListener("click", function() {

  currentCount = (currentCount + 2) % totalImages;

  originalImage.src = `./img/${currentCount + 1}.jpg`;

  modifiedImage.src = `./img/${currentCount + 2}.jpg`;

});

這是.html文件


<!DOCTYPE html>

<html>

  <head>

    <meta charset="UTF-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta http-equiv="X-UA-Compatible" content="ie=edge" />

    <title>Document</title>

    <link rel="stylesheet" href="style.css" />

  </head>

  <body>

    <!-- <div class="container">Item</div> -->

    <div id="wrapper">

      <div class="arrowsContainer">

        <div id="leftArrow">

          <p>Left</p>

        </div>

      </div>


      <div class="cd-image-container">

        <img src="./img/1.jpg" id="originalImage" alt="Original Image" />


        <div class="cd-resize-img">

          <img src="./img/2.jpg" id="modifiedImage" alt="Modified Image" />

        </div>


        <span class="cd-handle"></span>

      </div>


      <div class="arrowsContainer">

        <div id="rightArrow">

          <p>Right</p>

        </div>

      </div>

    </div>


    <script src="main.js"></script>

  </body>

</html>


let originalImage = document.querySelector("#originalImage");

let modifiedImage = document.querySelector("#modifiedImage");


const totalImages = 8;

let currentCount = 0;

document.querySelector("#leftArrow").addEventListener("click", function() {

  currentCount = (currentCount - 2 + totalImages) % totalImages;

  originalImage.src = `https://i.picsum.photos/id/${currentCount + 1}/200/300.jpg`;

  modifiedImage.src = `https://i.picsum.photos/id/${currentCount + 2}/200/300.jpg`;

});


document.querySelector("#rightArrow").addEventListener("click", function() {

  currentCount = (currentCount + 2) % totalImages;

  originalImage.src = `https://i.picsum.photos/id/${currentCount + 1}/200/300.jpg`;

  modifiedImage.src = `https://i.picsum.photos/id/${currentCount + 2}/200/300.jpg`;

});

#wrapper {

  display: flex;

}

.cd-image-container {

  display: flex;

}

#leftArrow,

#rightArrow {

  cursor: pointer;

}

<!DOCTYPE html>

<html>

  <head>

    <meta charset="UTF-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta http-equiv="X-UA-Compatible" content="ie=edge" />

    <title>Document</title>

    <link rel="stylesheet" href="style.css" />

  </head>

  <body>

    <!-- <div class="container">Item</div> -->

    <div id="wrapper">

      <div class="arrowsContainer">

        <div id="leftArrow">

          <p>Left</p>

        </div>

      </div>


      <div class="cd-image-container">

        <img src="https://i.picsum.photos/id/1/200/300.jpg" id="originalImage" alt="Original Image" />


        <div class="cd-resize-img">

          <img src="https://i.picsum.photos/id/2/200/300.jpg" id="modifiedImage" alt="Modified Image" />

        </div>


        <span class="cd-handle"></span>

      </div>


      <div class="arrowsContainer">

        <div id="rightArrow">

          <p>Right</p>

        </div>

      </div>

    </div>


    <script src="main.js"></script>

  </body>

</html>


查看完整回答
反對 回復 2023-10-17
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

在 if 語句中使用 == 或 ===

試一試

if ((modifiedImage.src == "img/1.jpg") && (originalImage.src == "img/2.jpg")){
    modifiedImage.src = "img/3.jpg";
    originalImage.src = "img/4.jpg";here


查看完整回答
反對 回復 2023-10-17
  • 2 回答
  • 0 關注
  • 216 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號