jQuery 无法使 .click 处理此代码

标签 jquery css animation click ready

我有以下问题:

我希望动画在单击时开始,而不是在就绪时开始......它在设置为 .ready 时有效,但在 .click 上设置时无效

$('div.main').ready(function() {
  setTimeout("$('div#tl').css({'top' : '-175px', 'left' : '-175px'})", 100);
  setTimeout("$('div#t').css({'top' : '-175px'})", 300);
  setTimeout("$('div#tr').css({'top' : '-175px', 'left' : '325px'})", 500);
  setTimeout("$('div#r').css({'left' : '325px'})", 700);
  setTimeout("$('div#br').css({'top' : '325px', 'left' : '325px'})", 900);
  setTimeout("$('div#b').css({'top' : '325px'})", 1100);
  setTimeout("$('div#bl').css({'top' : '325px', 'left' : '-175px'})", 1300);
  setTimeout("$('div#l').css({'left' : '-175px'})", 1500);
});

这是 HTML:

<div class="main">
    <div class="sub" id="tl"></div>
    <div class="sub" id="t"></div>
    <div class="sub" id="tr"></div>
    <div class="sub" id="r"></div>
    <div class="sub" id="br"></div>
    <div class="sub" id="b"></div>
    <div class="sub" id="bl"></div>
    <div class="sub" id="l"></div>
</div>

这里是 CSS:

div.main {
  position: relative;
  z-index: 2;
  width: 300px;
  height: 300px;
  margin: 0px auto;
  top: 50%;
  margin-top: -150px;
  background-color: #eee;
}

div.sub {
  position: absolute;
  z-index: 1;
  top: 75px;
  left: 75px;
  width: 150px;
  height: 150px;
  background-color: rgba(0,0,0,0.5);
  -webkit-transition: all 0.3s ease-in-out;
}

最佳答案

您应该将它们包含在文档准备功能中。

$(document).ready(function() {
 $('div.main').click(function() {
  setTimeout("$('div#tl').css({'top' : '-175px', 'left' : '-175px'})", 100);
  setTimeout("$('div#t').css({'top' : '-175px'})", 300);
  setTimeout("$('div#tr').css({'top' : '-175px', 'left' : '325px'})", 500);
  setTimeout("$('div#r').css({'left' : '325px'})", 700);
  setTimeout("$('div#br').css({'top' : '325px', 'left' : '325px'})", 900);
  setTimeout("$('div#b').css({'top' : '325px'})", 1100);
  setTimeout("$('div#bl').css({'top' : '325px', 'left' : '-175px'})", 1300);
  setTimeout("$('div#l').css({'left' : '-175px'})", 1500);
});
    });

Working Demo

关于jQuery 无法使 .click 处理此代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423795/

相关文章:

javascript - 使用 JavaScript 在文本鼠标悬停时显示不同的弹出图像

jquery - 使用jquery增加和减小搜索框的大小

asp.net-mvc - Ajax启用MVCContrib网格寻呼机的奇怪问题

php - 子菜单 div 问题

javascript - JSONPath 或其他类似 XPath 的 JSON/Javascript 实用程序;或 Jquery JSON

php - 如何在 wooCommerce 插件中制作/嵌入我自己的产品展示设计

html - bootstrap 如何防止视点低于 768px 时侧边栏折叠或消失

javascript - HTML5/CSS3 动画

javascript - 使用 javascript/css3/canvas 动画图像/3D/sprite

animation - 双 requestAnimationFrame 是如何工作的?