javascript - 单击按钮时更改图片JQuery

标签 javascript jquery html css

我正在尝试编写代码,在单击按钮时显示新图片(从海滩图片到湖泊图片)。目前它有点工作,但第一次点击时两张图片都出现了,第二次点击时海滩图片消失了。

这是我目前所拥有的:

HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="css/bootstrap.css">
    <link rel="stylesheet" href="css/styles.css" type="text/css" media="all">
    <script src="js/jquery-3.3.1.js"></script>
    <script src="js/scripts.js"></script>
    <title>Beach Photo </title>
  </head>
  <body>
    <h1>Photo of Beach </h1>
    <h4>Click button below to see a photo of a beach</h4>
    <br>
    <div class="container">
      <form id="show">
        <button type="submit" class="btn btn-primary btn-margin">Show</button>
        <br>

      </form>
      <br>
      <div id="img">

      </div>

      <div class="image1">
        <img src="img/beach-pic.jpg" alt="photo of beach" id="img1">
        <img src="img/lake-pic.jpg" alt="photo of lake" id="img2">
      </div>
    </div>
  </body>
</html>

JQuery:

$(document).ready(function(){
  $("form#show").submit(function(){
    event.preventDefault();

    $("#img1").toggle();
    $("#img2").show();
  });
});

CSS:

#img1 {
  display: none;
}

#img2 {
  display: none;
}

最佳答案

在显示或隐藏第二张图片之前,只需检查第一张图片是否显示。您可以尝试以下操作:

$(document).ready(function(){
  $("form#show").submit(function(){
    event.preventDefault();
   
    $("#img1").toggle();
    if($("#img1").is(':visible'))
      $("#img2").hide();
    else
      $("#img2").show();
  });
});
#img1 {
  display: none;
}

#img2 {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Photo of Beach </h1>
<h4>Click button below to see a photo of a beach</h4>
<br>
<div class="container">
  <form id="show">
    <button type="submit" class="btn btn-primary btn-margin">Show</button>
    <br>

  </form>
  <br>
  <div id="img">

  </div>

  <div class="image1">
    <img src="img/beach-pic.jpg" alt="photo of beach" id="img1">
    <img src="img/lake-pic.jpg" alt="photo of lake" id="img2">
  </div>
</div>

关于javascript - 单击按钮时更改图片JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51452729/

相关文章:

javascript - 为什么 jQuery html() 在 IE10 的网页中运行时失败

javascript - 如何在 ionic 应用中添加旋转器?

javascript - 将带有 for 循环和递归的回调转换为 Promise

javascript - 我的文档上的 Jquery Block .ready 功能不起作用

javascript - 向 JavaScript 字符串添加换行符

android - 在Android应用程序中居中对齐时如何找到 ImageView 的高度和宽度?

javascript - 如何在页面加载时运行 Javascript

javascript - Jquery javascript 股票报价器如何获取公司名称?

javascript - 为什么输入元素的值没有改变?

javascript - 被定向到 html 页面时无法从 express nodejs 服务器获得响应