在jquery中创建无限循环,效果就像心跳一样

在jquery中创建无限循环,效果就像心跳一样,jquery,web,frontend,Jquery,Web,Frontend,我想创建无限循环,它对div元素的影响就像心跳一样。这是我的代码: $(文档).ready(函数(){ if(!($('div').hasClass(“beat”)){ $('div').addClass('beat')) }否则{ $('div').removeClass(“beat”) } }); #div{ 宽度:250px; 高度:100px; 背景:红色; 利润上限:200px; 左边距:250像素; 过渡时间:2s; } .打败{ 转换:比例(1.5); 过渡时间:2s; 背景:蓝

我想创建无限循环,它对
div
元素的影响就像心跳一样。这是我的代码:

$(文档).ready(函数(){
if(!($('div').hasClass(“beat”)){
$('div').addClass('beat'))
}否则{
$('div').removeClass(“beat”)
}
});
#div{
宽度:250px;
高度:100px;
背景:红色;
利润上限:200px;
左边距:250像素;
过渡时间:2s;
}
.打败{
转换:比例(1.5);
过渡时间:2s;
背景:蓝色;
}

您可以使用,但可能最容易使用a。

您可以使用,但可能最容易使用a。

我在
上使用jquery
来获取
transitionend
事件。然而,我同意,使用CSS动画将是一个更好的方法

$("body").on("webkitTransitionEnd oTransitionend oTransitionEnd msTransitionEnd transitionend", "div", function(event) {
   toggleFun(); // toggles classes.
});

请参考此信息。

我已经在
上使用jquery
来获取
转换和
事件。然而,我同意,使用CSS动画将是一个更好的方法

$("body").on("webkitTransitionEnd oTransitionend oTransitionEnd msTransitionEnd transitionend", "div", function(event) {
   toggleFun(); // toggles classes.
});

请参考这一点。

当我弄乱你的代码时,干扰的是CSS转换时间。因为JS代码在动画完成之前调用下一步(添加或删除类)

处理这个问题的一种方法是('WebKittTransitionEnd OrtTransitionEnd OrtTransitionEnd msTransitionEnd transitionend transitionend msTransitionEnd transitionend transitionend',函数(e){})
方法

但因为我自己对transition ends不太熟悉,而且这是一个反复尝试的过程,所以我在一个自调用函数中使用了
.setTimeout()
。为此,我从CSS中删除了转换时间,并更改了JS

#div {
    width: 250px;
    height: 100px;
    background: red;
    margin-top: 200px;
    margin-left: 250px;
}

.beat {
    transform: scale(1.5);
    background: blue;
}



$( document ).ready(function() {
    function heartbeat() {
        setTimeout(function(){                //start setTimeout
            $('#div').toggleClass('beat');    //add or remove class .beat
            heartbeat();                      //and call the function again
        },500);                               //every half second
    }
    heartbeat();                              //CPR - start the heartbeat
});

当我弄乱你的代码时,干扰的是CSS转换时间。因为JS代码在动画完成之前调用下一步(添加或删除类)

处理这个问题的一种方法是('WebKittTransitionEnd OrtTransitionEnd OrtTransitionEnd msTransitionEnd transitionend transitionend msTransitionEnd transitionend transitionend',函数(e){})方法

但因为我自己对transition ends不太熟悉,而且这是一个反复尝试的过程,所以我在一个自调用函数中使用了
.setTimeout()
。为此,我从CSS中删除了转换时间,并更改了JS

#div {
    width: 250px;
    height: 100px;
    background: red;
    margin-top: 200px;
    margin-left: 250px;
}

.beat {
    transform: scale(1.5);
    background: blue;
}



$( document ).ready(function() {
    function heartbeat() {
        setTimeout(function(){                //start setTimeout
            $('#div').toggleClass('beat');    //add or remove class .beat
            heartbeat();                      //and call the function again
        },500);                               //every half second
    }
    heartbeat();                              //CPR - start the heartbeat
});

将动画效果用于模拟听觉节拍

$.extend($.easing{
心跳:函数(k,时间,开始值=0,结束值=1,持续时间){
if(k<0.3)返回数学功率(k,4)*49.4;
如果(k<0.4)返回(9*k)-2.3;
如果(k<0.5)返回(-13*k)+6.5;
如果(k<0.6)返回(4*k)-2;
否则如果(k<0.7)返回0.4;
如果(k<0.75)返回(4*k)-2.4;
如果(k<0.8)返回(-4*k)+3.6;
否则如果(k>=0.8)返回1-Math.sin(Math.acos(k));
},
心线:函数(k、时间、开始值、结束值、持续时间){
返回$.easing.heartBeat(k、时间、开始值、结束值、持续时间);
},
结束:函数(k、时间、开始值、结束值、持续时间){
返回end_值-$.easing.heartBeat(1-k,时间,start_值,end_值,持续时间)+start_值;
},
heartInOut:函数(k、时间、开始值、结束值、持续时间){
if(时间<持续时间/2)返回$.easing.heartIn(k,时间,开始值,结束值,持续时间);
返回$.easing.heartOut(k,时间,开始值,结束值,持续时间);
},
});
函数heartBeat($元素,符号='+')){
$element.animate({
宽度:`${sign}=50`,
高度:`${sign}=50`,
},2000,放松,功能(){
心跳($element,easing,sign=='+'?'-':'+');
});
}
心跳($('img1'),'heartIn');
心跳($('img2'),'heartOut');
心跳($('img3'),'heartInOut')
<代码>div img{
内容:网址“数据”数据:图像/PN7;基础64,第四个研究对象,一个研究对象,一个研究对象,一个研究对象,一个研究对象,一个研究对象,一个研究数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/国家数据:图像/巴布[7/BwwwwwwFFFFF7/bw7/bw7/bw[[[[[[[[7/Bw7/Bw7/Bw7/Bw7/Bw7/BFF[[[[[[[[[[[[[[7/7/Bw7/Bw7/Bw7/Bw7/Bw7/Bw7/Bw7/7/7/7/BFFF[[[[AAH8ULEQVR4NO2DAZUYGAZRN3J1X3NBZDBB1/P+/d8AFEVrokgL19fk61yTcQtu0TVOLPJCsuh8AU2.这个词的意思是一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个单词,一个DFL4CN09nsrj2dhcksy+Dxl1xtJW99V9BtMmGc5Y+Es7PDYe2.目前,中国的一个2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 RF6JI+MRmwiA3mIvDv1Nc6PxpMd56.在中国的一个非政府机构(J6 6 6 6 6 6六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六六A/AIG7O1yZ42.中国政府的一个ZZZZZWWWWWZZZZZZWWWWZZZZWWWZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZD6DM2LAEM+sHUFo3R/RZZTNJO0SQNRS他们的研究结果表明,他们的研究成果是一个关于某一领域的研究成果。他们的研究成果是一个关于某一领域的研究成果。他们的研究成果是一个关于某一领域的研究成果。他们的研究成果是一个关于某一领域的研究成果。他们的研究成果是一个关于某一领域的研究成果。他们的研究成果是一个关于他们的研究成果。他们的研究成果是一个关于他们的研究成果。他们的研究结果是他们的研究成果。他们的研究结果是,他们的研究结果是,他们在他们的研究结果是,他们的一个关于他们的一个关于他们的一个研究。他们的研究结果是他们的研究结果是,他们的一个ZZZZZZZZZZZZZZZZQQQQQQQQQQQQQQQQZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZtdoyhfifwzrgmkddxcJX43xRdy8AA56q4HwwzqHeHhrmh5Ia2gIwxOnV+AUB9LHYOUO8FQC9OKMLYWFMQ3DC29OPQNZDO8T4JN4YJVMRZNMXO+Y2JWJBOLE0MAI8FZAYYWPPN/ztRRSm+nYj0F6EYaruobn7ZBkY4lQa