Javascript $this不是';t在.each()函数中的函数中工作
我有下面的代码,我相信$this没有在if语句中触发,因为它没有添加任何一个类。但是,如果我将其更改为只查找没有$this的类,它会添加两个类(因为我在页面上有两个优惠券,一个触发if,一个触发elseif)。我不确定如何在if语句中生成$this.find()触发器Javascript $this不是';t在.each()函数中的函数中工作,javascript,jquery,function,each,Javascript,Jquery,Function,Each,我有下面的代码,我相信$this没有在if语句中触发,因为它没有添加任何一个类。但是,如果我将其更改为只查找没有$this的类,它会添加两个类(因为我在页面上有两个优惠券,一个触发if,一个触发elseif)。我不确定如何在if语句中生成$this.find()触发器 jQuery(document).ready(function($) { if ($('.clockdiv')[0]) { $('.couponWrap .coupons li').each(functio
jQuery(document).ready(function($) {
if ($('.clockdiv')[0]) {
$('.couponWrap .coupons li').each(function() {
// Set the date we're counting down to
var deadlineYear = $(this).find("div .clockdiv .year").attr("rel");
var deadlineMonth = $(this).find("div .clockdiv .month").attr("rel");
var deadlineDay = $(this).find("div .clockdiv .days").attr("rel");
var deadlineHour = $(this).find("div .clockdiv .hours").attr("rel");
var deadlineMinute = $(this).find("div .clockdiv .minutes").attr("rel");
var deadlineSecond = $(this).find("div .clockdiv .seconds").attr("rel");
var couponExpired = $(this).find("div .clockdiv").attr("rel");
var countDownDate = new Date(deadlineYear + "/" + deadlineMonth + "/" + deadlineDay + " " + deadlineHour + ":" + deadlineMinute + ":" + deadlineSecond).getTime();
var startDate = new Date($(this).find("div .clockdiv .start").attr("rel"));
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("minutes").innerHTML = minutes;
document.getElementById("seconds").innerHTML= seconds;
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("clockdiv").innerHTML = "<p>" + couponExpired + "</p>";
}
//Works but only for 1st start date
//var testDate = $("div .clockdiv .start").attr("rel"); //2018/09/28 17:00:00
var startDateNew = new Date(startDate);
var startDateNewer = new Date(startDate);
var newOldDate = new Date(startDateNewer.setDate(startDateNew.getDate() + 7));
//alert(startDate + ", " + startDateNew + ", " + startDateNewer + ", " + newOldDate);
//This works fine
var nowDateNew = new Date().getTime();
//alert(nowDateNew - newOldDate.getTime());
if (days <= 7) {
$(this).find('div.couponDiv').addClass("old-coupon");
} else if ((nowDateNew - newOldDate.getTime()) < 0) {
$(this).find('div.couponDiv').addClass("new-coupon");
}
}, 1000);
});
}
});
jQuery(文档).ready(函数($){
如果($('.clockdiv')[0]){
$('.couponWrap.li')。每个(函数(){
//确定我们倒计时的日期
var deadlineYear=$(this.find(“div.clockdiv.year”).attr(“rel”);
var deadlineMonth=$(this.find(“div.clockdiv.month”).attr(“rel”);
var deadlineDay=$(this.find(“div.clockdiv.days”).attr(“rel”);
var deadlineHour=$(this.find(“div.clockdiv.hours”).attr(“rel”);
var deadlineMinute=$(this.find(“div.clockdiv.minutes”).attr(“rel”);
var deadlineSecond=$(this.find(“div.clockdiv.seconds”).attr(“rel”);
var couponExpired=$(this.find(“div.clockdiv”).attr(“rel”);
var countDownDate=新日期(deadlineYear+“/”+deadlineMonth+“/”+deadlineDay+“+deadlineHour+”:“+deadlineMinute+”:“+deadlineSecond).getTime();
var startDate=新日期($(this.find)(“div.clockdiv.start”).attr(“rel”);
//每1秒更新一次倒计时
var x=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
变量天数=数学楼层(距离/(1000*60*60*24));
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“天”).innerHTML=天;
document.getElementById(“小时”).innerHTML=hours;
document.getElementById(“分钟”).innerHTML=minutes;
document.getElementById(“秒”).innerHTML=seconds;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“clockdiv”).innerHTML=“”+couponExpired+””;
}
//有效,但仅适用于第一个开始日期
//var testDate=$(“div.clockdiv.start”).attr(“rel”);//2018/09/28 17:00:00
var startDateNew=新日期(startDate);
var startDateNewer=新日期(startDate);
var newOldDate=新日期(startDateNewer.setDate(startDateNew.getDate()+7));
//警报(startDate+”、“+startDateNew+”、“+startDateNewer+”、“+startDateNewer+”、“+newOldDate”);
//这个很好用
var nowDateNew=new Date().getTime();
//警报(nowDateNew-newOldDate.getTime());
如果(天仅在函数外设置var,例如:
jQuery(document).ready(function($) {
if ($('.clockdiv')[0]) {
$('.couponWrap .coupons li').each(function() {
// Set the date we're counting down to
var deadlineYear = $(this).find("div .clockdiv .year").attr("rel");
var deadlineMonth = $(this).find("div .clockdiv .month").attr("rel");
var deadlineDay = $(this).find("div .clockdiv .days").attr("rel");
var deadlineHour = $(this).find("div .clockdiv .hours").attr("rel");
var deadlineMinute = $(this).find("div .clockdiv .minutes").attr("rel");
var deadlineSecond = $(this).find("div .clockdiv .seconds").attr("rel");
var couponExpired = $(this).find("div .clockdiv").attr("rel");
var countDownDate = new Date(deadlineYear + "/" + deadlineMonth + "/" + deadlineDay + " " + deadlineHour + ":" + deadlineMinute + ":" + deadlineSecond).getTime();
var startDate = new Date($(this).find("div .clockdiv .start").attr("rel"));
// Update the count down every 1 second
var that = $(this);// out side the interval
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("minutes").innerHTML = minutes;
document.getElementById("seconds").innerHTML= seconds;
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("clockdiv").innerHTML = "<p>" + couponExpired + "</p>";
}
//Works but only for 1st start date
//var testDate = $("div .clockdiv .start").attr("rel"); //2018/09/28 17:00:00
var startDateNew = new Date(startDate);
var startDateNewer = new Date(startDate);
var newOldDate = new Date(startDateNewer.setDate(startDateNew.getDate() + 7));
//alert(startDate + ", " + startDateNew + ", " + startDateNewer + ", " + newOldDate);
//This works fine
var nowDateNew = new Date().getTime();
//alert(nowDateNew - newOldDate.getTime());
if (days <= 7) {
that.find('div.couponDiv').addClass("old-coupon");
} else if ((nowDateNew - newOldDate.getTime()) < 0) {
that.find('div.couponDiv').addClass("new-coupon");
}
}, 1000);
});
}
});
jQuery(文档).ready(函数($){
如果($('.clockdiv')[0]){
$('.couponWrap.li')。每个(函数(){
//确定我们倒计时的日期
var deadlineYear=$(this.find(“div.clockdiv.year”).attr(“rel”);
var deadlineMonth=$(this.find(“div.clockdiv.month”).attr(“rel”);
var deadlineDay=$(this.find(“div.clockdiv.days”).attr(“rel”);
var deadlineHour=$(this.find(“div.clockdiv.hours”).attr(“rel”);
var deadlineMinute=$(this.find(“div.clockdiv.minutes”).attr(“rel”);
var deadlineSecond=$(this.find(“div.clockdiv.seconds”).attr(“rel”);
var couponExpired=$(this.find(“div.clockdiv”).attr(“rel”);
var countDownDate=新日期(deadlineYear+“/”+deadlineMonth+“/”+deadlineDay+“+deadlineHour+”:“+deadlineMinute+”:“+deadlineSecond).getTime();
var startDate=新日期($(this.find)(“div.clockdiv.start”).attr(“rel”);
//每1秒更新一次倒计时
var that=$(this);//超出间隔
var x=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
变量天数=数学楼层(距离/(1000*60*60*24));
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“天”).innerHTML=天;
document.getElementById(“小时”).innerHTML=hours;
document.getElementById(“分钟”).innerHTML=minutes;
document.getElementById(“秒”).innerHTML=seconds;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“clockdiv”).innerHTML=“”+couponExpired+””;
}
//有效,但仅适用于第一个开始日期
//var testDate=$(“div.clockdiv.start”).attr(“rel”);//2018/09/28 17:00:00
var startDateNew=新日期(startDate);
var startDateNewer=新日期(startDate);
var newOldDate=新日期(startDateNewer.setDate(startDateNew.getDate()+7));
//警报(startDate+”、“+startDateNew+”、“+startDateNew
jQuery(document).ready(function($) {
if ($('.clockdiv')[0]) {
$('.couponWrap .coupons li').each(function() {
// Set the date we're counting down to
var deadlineYear = $(this).find("div .clockdiv .year").attr("rel");
var deadlineMonth = $(this).find("div .clockdiv .month").attr("rel");
var deadlineDay = $(this).find("div .clockdiv .days").attr("rel");
var deadlineHour = $(this).find("div .clockdiv .hours").attr("rel");
var deadlineMinute = $(this).find("div .clockdiv .minutes").attr("rel");
var deadlineSecond = $(this).find("div .clockdiv .seconds").attr("rel");
var couponExpired = $(this).find("div .clockdiv").attr("rel");
var countDownDate = new Date(deadlineYear + "/" + deadlineMonth + "/" + deadlineDay + " " + deadlineHour + ":" + deadlineMinute + ":" + deadlineSecond).getTime();
var startDate = new Date($(this).find("div .clockdiv .start").attr("rel"));
// Update the count down every 1 second
var that = $(this);// out side the interval
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("minutes").innerHTML = minutes;
document.getElementById("seconds").innerHTML= seconds;
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("clockdiv").innerHTML = "<p>" + couponExpired + "</p>";
}
//Works but only for 1st start date
//var testDate = $("div .clockdiv .start").attr("rel"); //2018/09/28 17:00:00
var startDateNew = new Date(startDate);
var startDateNewer = new Date(startDate);
var newOldDate = new Date(startDateNewer.setDate(startDateNew.getDate() + 7));
//alert(startDate + ", " + startDateNew + ", " + startDateNewer + ", " + newOldDate);
//This works fine
var nowDateNew = new Date().getTime();
//alert(nowDateNew - newOldDate.getTime());
if (days <= 7) {
that.find('div.couponDiv').addClass("old-coupon");
} else if ((nowDateNew - newOldDate.getTime()) < 0) {
that.find('div.couponDiv').addClass("new-coupon");
}
}, 1000);
});
}
});