视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jQuery实现商品活动倒计时_jquery
2020-11-27 21:44:32 责编:小采
文档
 倒计时一般是用来表示未来某一时刻距现在时刻还剩多少时间。倒计时在WEB上应用非常广泛,如考试系统倒计时,团购网站中的优惠活动倒计时等等。今天,我们来使用jQuery实现一个简单的倒计时功能。

本文以团购网站的倒计时为背景,我们知道,网站会给每个优惠活动(商品)定一个结束时间,也就是到期时间,但系统时间到达了结束时间,就意味着活动结束。因此,我们在HTML中就要定义活动的结束时间。
HTML

 
 
  • 简约时尚皮带男士手表一款69元
  • 高强度无毒树脂材料榨汁器24元
  • 茶香番茄/乌梅/杨梅0.48元
  • 沙滩鞋男士户外凉鞋69元
  • 上述html代码中,我们建立了一个列表,用于展示活动名称、图片和倒计时,关键的是我们在每个活动定义了结束时间:.endtime属性value的值,这个值是一串数字,表示自1970年1月1日以来的秒数,由后台(PHP)生成。比如结束时间2013-05-01 12:00可以通过PHP转换为1367380800秒,转换后的秒数可以用来接下来的jQuery计算倒计时。
    CSS
    我们需要给页面中的列表实际一个稍微好看点的外观。

    .endtime{font-size:20px; font-family:"Microsoft Yahei"; color:#000} 
    .prolist{margin:10px auto} 
    .prolist li{float:left; width:320px; height:240px; margin:10px; font-size:14px; 
    position:relative} 
    .prolist li img{width:320px; height:198px;} 
    .showtime{position:absolute; top:174px; height:24px; line-height:24px; 
    background:#333; color:#fff; opacity:.6; display:none} 
    

    保存,预览页面效果,可以看到一个排列整齐的活动列表。
    jQuery

    
    
    

    我们首先获取服务器时间,我们要将倒计时与服务器时间保持一致,这样一来每个客户端看到的倒计时是一样的,我们通过计算客户端与服务器的时间偏移量,来避免了因客户机器时间与服务器时间不一致而引起的倒计时不同步的麻烦。当然这个服务器时间需要使用服务端语言来获取,本文使用了PHP的time()函数获取的秒数,记得要乘以1000转换成毫秒数。
    我们通过setInterval建立一个定时器,并且每个100毫秒执行一次setInterval里面的代码。
    然后在定时器里,我们使用jQuery的each()方法,遍历页面中的列表,计算天、小时、分、秒。
    因为javascript的getTime()函数获取的是毫秒数,所以计算过程中都要/1000,
    我们并不想在一个页面将列表中所有的倒计时都显示出来,而需要用户将鼠标滑向列表中的图片才显示对应的倒计时,因此我们还需要加入以下辅助代码:

    
    
    

    最终效果图:

    下载本文
    显示全文
    专题