永发信息网

时间未到显示未开始,时间到了显示去购买,时间段结束或者数量为0,显示结束,请大神js判断下,谢谢

答案:2  悬赏:10  手机版
解决时间 2021-03-23 04:00
  • 提问者网友:不要迷恋哥
  • 2021-03-22 17:49
时间未到显示未开始,时间到了显示去购买,时间段结束或者数量为0,显示结束,请大神js判断下,谢谢
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-03-22 18:50
干嘛要在前端判断?这样不好。前端判断的话,你用这个

var myDate=new Date();
var year= myDate.getFullYear();
var month= myDate.getMonth();
var day = pareInt(myDate.getDate());
var hour = myDate.getHours(); //获取当前小时数(0-23)
var min = myDate.getMinutes(); //获取当前分钟数(0-59)
var sec = myDate.getSeconds();
去与你的末尾日期比较一下就可以了,然后隐藏去购买,打印$("#xxx").html("已结束");就可以了。追问我用了你那样的判断。由于是循环判断,最后对比的时候的出现问题了。只要有一次条件满足,就会都显示那一个。
全部回答
  • 1楼网友:动情书生
  • 2021-03-22 19:00

没时间给你写那么细这个只写了这个

$("div:contains('商品名称')").each(function (){

var str = $(this).next().next().children().html();

if(str!="" && str!=null){

var strs = str.split(":")[1];

var ks = strs.split("")[1];

var js = strs.split("")[2];

var ksrq = ks.substring(ks,ks.length-5,ks.length);

var jsrq = js.substring(js,js.length-5,js.length);

var n = ksrq.replace("年","").replace("月","").replace("日","").replace("时","").replace("分","").replace(" ","");

var y = jsrq.replace("年","").replace("月","").replace("日","").replace("时","").replace("分","").replace(" ","");

alert("开始:"+n);

alert("结束:"+y);

}

});

获取到商品开始时间及结束时间 修改后格式为:20147var regTime=/(d{4})年(d+)月(d+)日 (d+)时(d+)分/;
var dateArr=[];//临时数组
var now=new Date().valueOf();//当前时间
$("a").each(function(){
var txt = $.trim( $(this).text() );
var a = regTime.exec(txt);
if(a){
var d = new Date(a[1],a[2]-1,a[3],a[4],a[5]);
dateArr.push(d);
}else if(dateArr.length>1){
var to = dateArr.pop().valueOf();
var from = dateArr.pop().valueOf();
var txt= now < from ? "未开始" : ( now > to ? "已结束" : "去购买");
$(this).text(txt);
}
});

 纯JS解决问题,呵呵。记得给分哦。

有一点要提醒:当前时间你最好用服务端的值,客户端的时间不准的话就会出问题。

追问前辈,我看的不是很懂,您帮加我Q,帮我处理下吗?感激不尽!280836076追答遍历 所有超链接, 识别日期和购买的链接,根据规律 2个日期链接 后有一个 购买链接,所以用到了栈(js中数组可以直接支持栈操作:push,pop)。正则表达式解析日期,然后和当前时间对比,这个应该不用提了吧。 还有疑问吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯