• ajax获取服务器时间,实现PHP活动倒计时效果


    html部分代码

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
    <script type="text/javascript">
    //ajax函数请求time.php数据
    	function loadDoc(){
    		var xmlhttp;
    		if(window.XMLHttpRequest){
    		xmlhttp=new XMLHttpRequest();
    		}else{
    		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");	
    			}
    		xmlhttp.onreadystatechange=function(){
    			if(xmlhttp.readyState==4 && xmlhttp.status==200){
    				document.getElementById("timeDiv").innerHTML=xmlhttp.responseText;
    				}
    		}
    		xmlhttp.open("GET","time.php",true);
    		xmlhttp.send();
    			}
    //self.setInterval()周期执行ajax函数获取服务器时间,执行周期500毫秒
    		var int=self.setInterval("loadDoc()",500);
    </script>
    <head>
    <body>
     <div class="top_time">
        <fieldset>
          <legend>距离活动结束还有</legend>
          <div id="timeDiv" class="com_margin com_margintop"></div>
        </fieldset>
      </div>
    </body>
    </html>
    

      

    time.php代码:

    //使用时间函数值钱先设置时区
    date_default_timezone_set("Asia/Shanghai");
    //获取当前时间戳
        $time1=time();
    //获取活动时间结束时间戳
        $time2=mktime(23,0,0,11,20,2017);
    //获取当前时间到活动结束时间时间戳的差值
        $time3=$time2-$time1;
    //计算距离活动结束的倒计时天数
        $day=($time3-($time3%(24*3600)))/(24*3600);
    //计算距离活动结束的倒计小时数
        $hour=($time3%(24*3600)-(($time3%(24*3600))%3600))/3600;
    //计算距离活动结束的倒计时分钟数
        $minute=((($time3%(24*3600))%3600)-((($time3%(24*3600))%3600)%60))/60;
    //计算距离活动结束的倒计时秒数
        $second=($time3%(24*3600)%3600)%60;
    //获取数值进行转化成字符串
        $day=(string) $day;
        $hour=(string) $hour;
        $minute=(string) $minute;
        $second=(string) $second;
    //变量用于存储前台ajax需要获取的数值
        $strTime="";
    //通过compact函数把计算得到的变量合成数组,并以变量名为键值钱
        $arrTime=compact('day','hour','minute','second');
    //拼接$strTime的值
        foreach($arrTime as $key=>$value){
            switch ($key){
                case 'day' :
                if(strlen($value)==2){
                    $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>天&nbsp;&nbsp;';
                    }else{
                    $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>天&nbsp;&nbsp;';
                        }
                break;
                
                case 'hour' :
                if(strlen($value)==2){
                    $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>时&nbsp;&nbsp;';
                    }else{
                    $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>时&nbsp;&nbsp;';
                        }
                break;
                
                case 'minute' :
                if(strlen($value)==2){
                    $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>分&nbsp;&nbsp;';
                    }else{
                    $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>分&nbsp;&nbsp;';
                        }
                break;
                
                case 'second' :
                if(strlen($value)==2){
                    $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>秒&nbsp;&nbsp;';
                    }else{
                    $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>秒';
                        }
                break;
                
                default :
                echo "false!";
                break;
                }
            }
    //用于ajax获取
        echo $strTime;
  • 相关阅读:
    AngularJS各种'service'的区别
    js 斐波那契数列实现
    Mac下Apache+MySQL+PHP开发环境安装过程
    原生封装的js前端工具库(包含了jquery的常用功能)
    BFC 神奇背后的原理
    CSS清浮动处理(Clear与BFC)
    JavaScript实现 页面滚动图片加载(懒加载)
    CodeForce 814B
    排序算法
    uva1610
  • 原文地址:https://www.cnblogs.com/gaoking/p/7808787.html
Copyright © 2020-2023  润新知