简体   繁体   English

jQuery根据时间对div进行动画处理

[英]jQuery to animate div based on time

I am displaying Prayer time in div tag and i want to animate this particular div if is 15 - 20 minutes close to prayer time. 我在div标签中显示祷告时间,如果距离祷告时间15至20分钟,我想为这个特定的div设置动画。

<div class="pt-time"><b>Fajr</b><br> <span id="ContentPlaceHolder1_lblFajrTime">04:48</span></div>                  </div>
<div class="pt-circle"><div class="pt-time"><b>Dhur</b><br><span id="ContentPlaceHolder1_lblDhurTime">12:19</span></div></div>
<div class="pt-circle"><div class="pt-time"><b>Asr</b><br><span id="ContentPlaceHolder1_lblAsrTime">15:43</span></div></div>
<div class="pt-circle"><div class="pt-time"><b>Magrib</b><br><span id="ContentPlaceHolder1_lblMagribTime">18:19</span></div></div>
<div class="pt-circle"><div class="pt-time"><b>Isha</b><br><span id="ContentPlaceHolder1_lblIshaTime">19:49</span></div></div>

Let us say I want to animate the border of the second circle from 12:00 - 12:19 . 假设我想为12:00 - 12:19的第二个圆的边界设置动画。

Just to mention prayer time changes every day by at-least 1 minutes. 只需说每天祷告时间至少要改变1分钟。

Fiddle link 小提琴链接

I made a small fork from your pen: http://codepen.io/Saar/pen/YyWVpW?editors=101 我用笔造了一个小叉子: http : //codepen.io/Saar/pen/YyWVpW?editors=101

basically this is the code (for 20 min or less, it runs every 5 min): 基本上,这是代码(在20分钟或更短的时间内,每5分钟运行一次):

var interval = setInterval(function(){
  var currentTime = Date.now();
  $(".pt-time>span").each(function(idx){
    var prayerTimeString = $(this).text();
    var prayerTime = new Date();
    var times = prayerTimeString.split(":");
    prayerTime.setHours(times[0]);
    prayerTime.setMinutes(times[1]);
    var timeOfPrayerInMs = prayerTime.getTime();
    var timeDif = timeOfPrayerInMs- currentTime; 
    if(timeDif <= 20*1000*60 && timeDif > 0){
      $(this).closest(".pt-circle").addClass("closePrayerTime");
    }
    else{
      $(this).closest(".pt-circle").removeClass("closePrayerTime");
    }
  });
},1000*60*5);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM