用于切换类问题的 Javascript 按钮

标签 javascript jquery html css

我是html/css/js新手,一直在做元素教程来学习里面的内容。我查看了其他 JS 按钮问题,但不确定它如何适用于我的案例(因为我是新手)。

该元素要求我们创建一个机器人,它在单击按钮后眼睛会闪烁。如果再次单击该按钮,则闪烁停止。

相关代码如下:

<!DOCTYPE html>

<head>
<script src="/assets/jquery.js"></script>
<link href='https://fonts.googleapis.com/css?family=Poller+One' rel='stylesheet' type='text/css'>

<style>
...

/* Other parts of robot */

@keyframes blink {
  50% {
    background: radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}
@-webkit-keyframes blink {
  50% {
    background: -webkit-radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}
@-moz-keyframes blink {
  50% {
    background: -moz-radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}

.laser {
  animation: blink 5s infinite;
  -webkit-animation: blink 5s infinite;
  -moz-animation: blink 5s infinite;
}
.brain {
  background: radial-gradient(circle, white 15%, transparent 40%), #cc5;
  background: -moz-radial-gradient(circle, white 15%, transparent 40%), #cc5; 
  background: -webkit-radial-gradient(circle, white 15%, transparent 40%), #cc5;
  background-size: 75px 150px;
  height: 150px;
  width: 150px;
  border-radius: 60px 60px 10px 10px;
  border-bottom: 40px solid #666;
  position: relative;
  left: 70px;
}
.foot {
...
}
</style>
</head>

<body>

<div class="robot">
  <div class="beep"></div>
  <div class="brain"></div>
  <div class="torso">
    <div class="left">j</div>
    <div class="right">j</div>
  </div>
  <div class="foot"></div>
</div>

<button class="flash">laser eyes on/off</button>
<button class="color">change color!</button>

<script>
// Button to toggle
$('.flash').click(function() {
  $('.brain').toggleClass('laser');
});

</script>

</body>

我想知道是否有任何特别错误的地方,因为我不确定如何更正它,即使我已根据教程将所有内容都放在正确的位置。有人提到在 HTML 元素中包含更多 CSS 标识,但我不确定这将如何改变这里的任何内容。

最佳答案

又是一个不将 jQuery 代码包装在 $(document).ready(function(){}) 中的情况

将您的 jQuery 代码更改为,

$(document).ready(function(){
$('.flash').click(function() {
  $('.brain').toggleClass('laser');
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<!DOCTYPE html>

<head>
<link href='https://fonts.googleapis.com/css?family=Poller+One' rel='stylesheet' type='text/css'>

<style>
...

/* Other parts of robot */

@keyframes blink {
  50% {
    background: radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}
@-webkit-keyframes blink {
  50% {
    background: -webkit-radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}
@-moz-keyframes blink {
  50% {
    background: -moz-radial-gradient(circle, red 15%, transparent 40%), #cc5;
    background-size: 75px 150px;
  }
}

.laser {
  animation: blink 5s infinite;
  -webkit-animation: blink 5s infinite;
  -moz-animation: blink 5s infinite;
}
</style>
</head>

<body>

<div class="robot">
  <div class="beep"></div>
  <div class="brain" height="50px">df</div>
  <div class="torso">
    <div class="left">j</div>
    <div class="right">j</div>
  </div>
  <div class="foot"></div>
</div>

<button class="flash">laser eyes on/off</button>
<button class="color">change color!</button>

<script>
// Button to toggle
$(document).ready(function(){
$('.flash').click(function() {
  $('.brain').toggleClass('laser');
});
});

</script>

</body>

关于用于切换类问题的 Javascript 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503671/

相关文章:

javascript - 过滤数组并形成新数组

javascript - 使用 jquery 替换 JSON 数组值

javascript - 如何将 div 中的内容转换为仅在移动 View 上的 Accordion 选项卡?

javascript - 当事件处理程序从另一个事件处理程序被 react 和减少时附加到组件上

javascript - Bootstrap 导航下拉菜单不起作用,我做错了什么?

javascript - 页面加载后如何在表单操作上触发 Jquery 事件

html - 将图片对齐到垂直中间和水平居中

jquery - 完整日历 jquery 中的 eventDrop

html - IE表单输入数据在浏览器刷新后消失

javascript - 在 JQuery 中从 Angular 调用 ng-attr-id