jquery - 单击按钮时图像不会被替换

标签 jquery css

我有 3 个按钮,当单击其中一个按钮时,图像将替换旧的。

我创建了按钮,但它不起作用

jquery

jQuery(document).ready(function($){

$('.black-button').on({
     'click': function(){
         $('#bar').attr('src','flash-red.png');
     }
 });

$('.red-button').on({
     'click': function(){
         $('#bar').attr('src','flash-red.png');
     }
 });

$('.blue-button').on({
     'click': function(){
         $('#bar').attr('src','flash-red.png');
     }
 });

$('.yellow-button').on({
     'click': function(){
         $('#bar').attr('src','flash-red.png');
     }
 });
});

在正文中,我编写了闪烁代码,并在单击按钮时更改图像

body

<div class="button-container">
                <button class="black-button"></button>
                <button class="red-button"></button>
                <button class="blue-button"></button>
                <button class="yellow-button"></button>
         </div>

<button id="flash-toggle" onclick="$('.bar1').toggleClass('blinking')">
    Toggle Blinking
</button>

在CSS中应用属性

css

#btn-show {
    display: none;
}
.tgl
{
  display:inline;
}

   .bar1,.bar2{
    opacity: 0.002;;
    height:100px;
    width:100px;
    }
    @keyframes blinkingFrames {
    0% {opacity: 0.00;}
    50% {opacity: 1.00;}
    100% {opacity: 0.00;}
}

.blinking {
    animation-name: blinkingFrames;
    animation-duration: 1s;

    animation-iteration-count: infinite;
}

最佳答案

如评论中所述,您的语法错误。应该是:

$(元素).on(事件, 函数)

见下面的工作代码:

  1. 点击颜色按钮
  2. 点击“切换”
  3. 看到图像闪烁

我没有你的图片,所以链接的图片来自维基媒体。将其替换为您想要/需要的图像。

jQuery(document).ready(function($) {

  $('.black-button').on('click', function() {
    $('#bar').prop('src', 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/The_Ladder_of_Divine_Ascent.jpg/440px-The_Ladder_of_Divine_Ascent.jpg');

  });

  $('.red-button').on('click', function() {
    $('#bar').prop('src', 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/The_Ladder_of_Divine_Ascent.jpg/440px-The_Ladder_of_Divine_Ascent.jpg');

  });

  $('.blue-button').on('click', function() {
    $('#bar').prop('src', 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/The_Ladder_of_Divine_Ascent.jpg/440px-The_Ladder_of_Divine_Ascent.jpg');

  });

  $('.yellow-button').on('click', function() {
    $('#bar').prop('src', 'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/The_Ladder_of_Divine_Ascent.jpg/440px-The_Ladder_of_Divine_Ascent.jpg');

  });
})
button {
  min-width: 10px;
  min-height: 10px;
}

.black-button {
  background: black
}

.red-button {
  background: red
}

.blue-button {
  background: blue
}

.yellow-button {
  background: yellow
}

#btn-show {
  display: none;
}

.tgl {
  display: inline;
}

.bar1,
.bar2 {
  opacity: 0.002;
  ;
  height: 100px;
  width: 100px;
}

@keyframes blinkingFrames {
  0% {
    opacity: 0.00;
  }
  50% {
    opacity: 1.00;
  }
  100% {
    opacity: 0.00;
  }
}

.blinking {
  animation-name: blinkingFrames;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="button-container">
  <button class="black-button"></button>
  <button class="red-button"></button>
  <button class="blue-button"></button>
  <button class="yellow-button"></button>
</div>

<button id="flash-toggle" onclick="$('.bar1').toggleClass('blinking')">
    Toggle Blinking
</button>
<img id="bar" class="bar1" src="flash-red.png" alt="bar" >

关于jquery - 单击按钮时图像不会被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810266/

相关文章:

javascript - 在 Chrome 扩展程序中运行代码之前,如何等待 Twitter 趋势加载?

javascript - 自定义对象中的变量范围

javascript - 将变量作为 JQuery CSS 选择器传递不起作用

javascript - 带有数字寻呼机的 bxslider

javascript - 给每个角色涂上不同的颜色

javascript - 将 "id"传递给 Controller ​​并传递给 JavaScript

jquery - 同位素可点击元素 : grow height to match content

javascript - Zepto 相当于 jQuery prev([selector])

IE8的jquery浏览器检测

html - 带有分词符的单引号显示错误 :break-all