【JS】js多时间倒计时

Continue Read..
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>js倒计时</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">

</head>
<body>
<div class="timercon">
    距离活动结束还有
    <div id="timer">计算中。。。</div>
    </div>
<div class="timercon">
    距离活动结束还有
    <div id="timer1">计算中。。。</div>
    </div>

 <script type="text/javascript"> 
function TimeTo(dd,showid,clearid){
    var t = new Date(dd),//取得指定时间的总毫秒数
        n = new Date().getTime(),//取得当前毫秒数
        c = t - n;//得到时间差
//alert (t);return;
    if(c<=0){//如果差小于等于0  也就是过期或者正好过期,则推出程序
        document.getElementById('timer').innerHTML ='活动已经结束';
        clearInterval(window[clearid]);//清除计时器
        return;//结束执行
    }
    var ds = 60*60*24*1000,//一天共多少毫秒
        d = parseInt(c/ds),//总毫秒除以一天的毫秒 得到相差的天数
        h = parseInt((c-d*ds)/(3600*1000)),//然后取完天数之后的余下的毫秒数再除以每小时的毫秒数得到小时
        m = parseInt((c - d*ds - h*3600*1000)/(60*1000)),//减去天数和小时数的毫秒数剩下的毫秒,再除以每分钟的毫秒数,得到分钟数
        s = parseInt((c-d*ds-h*3600*1000-m*60*1000)/1000);//得到最后剩下的毫秒数除以1000 就是秒数,再剩下的毫秒自动忽略即可
        document.getElementById(showid).innerHTML = '<p style="margin-top:5px;"> <b>'+d+'</b> 天 <b>'+h+'</b> 小时 <b>'+m+'</b> 分</p><p class="ss"><b>'+s+'</b> 秒</p>';//最后这句讲定义好的显示 更新到 ID为 timer的 div中
}
(function(){
    window['ttt']=setInterval(function(){
    TimeTo('2015-12-16 10:00:00','timer','ttt');//定义倒计时的结束时间,注意格式
    },1000);//定义计时器,每隔1000毫秒 也就是1秒 计算并更新 div的显示
})();

(function(){
    window['tttt']=setInterval(function(){
    TimeTo('2015-12-18 00:00:00','timer1','tttt');//定义倒计时的结束时间,注意格式
    },1000);//定义计时器,每隔1000毫秒 也就是1秒 计算并更新 div的显示
})();
</script>
</body>

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

假分页(上一页/下一页)

Continue Read..
<!DOCTYPE>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
.div1,.div2,.div3{
display:none;
}
.div1{
width:200px;
height:100px;
background:#096;
}
.div2{
width:200px;
height:100px;
background:#AD1925;
}
.div3{
width:200px;
height:100px;
background:#9C3;
}
#div span{
cursor:pointer;
}
</style>
</head>

<body>
<div id="div">
<div class="div1" style="display:block;"></div>
<div class="div2"></div>
<div class="div3"></div>
</div>
使用键盘查看图片"←" <span id="previous">上一页</span> "→" <span id="next">下一页</span>
<script type="text/javascript">
window.onload=function(){
var adiv=document.getElementById("div");
var adivs=adiv.getElementsByTagName("div");
var p=document.getElementById("previous");
var n=document.getElementById("next");
var iNow=0;

var previous=function(){ //向前函数
iNow--;
if(iNow==-1){
iNow=adivs.length-1;
}
console.log(iNow);
tab();
}

var next=function(){ //向后函数
iNow++;
if(iNow==adivs.length){
iNow=0;
}
tab();
}
function tab(){//公共部分
for(var i=0;i<adivs.length;i++){
adivs[i].style.display='none';
}
adivs[iNow].style.display='block';
}
p.onclick=previous;//给文字“上一页”添加响应
n.onclick=next;//给文字“下一页”添加响应
document.onkeydown=function(){//绑定键盘事件
var e=event||window.event;
var keyCode=e.keyCode||e.width;
switch(keyCode){
     case 37:
      previous();
      break;  
     case 39:
      next();    
  }
}
}
</script>
</div>
</body>
</html>

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

jqeury 闭包ajax请求方式

Continue Read..
公共方法:
// 必用闭包的方式,防止外部调用内部的参数与方法,只向外部暴露一个入口方法
(function($) {
// 默认参数
var default_Options = {
type: 'post',
dataType: 'json',
async: true,
headers: {},
data: {},
sucfun: function(msg) {
if (msg.code == '0000') {
alert('操作成功!');
} else {
alert(msg.msg);
}
},
errfun: function() {
alert('登录失效,请重新登录');
window.location.href='login.html';
},
failfun: function() {
alert('网络异常,请稍后重试');
}
};

// 创建ajax方法,接受参数
var performAjax = {
validate: function(opt) {
// TODO 这里可以写一些参数的验证
return true;
},
run: function(param) {
$.extend(default_Options, param);
var isok = this.validate(default_Options);
if (!isok) {
return;
}
console.log(default_Options)
$.ajax({
url: default_Options.url,
type: default_Options.type,
dataType: default_Options.dataType,
async: default_Options.async, //使用同步的方式,true为异步方式
data: default_Options.data, //这里使用json对象
headers: default_Options.headers,
success: function(msg) {
default_Options.sucfun(msg);
},
error: function(e) {
if (e.status == 911) {
default_Options.errfun()
}
},
fail: function() {
default_Options.failfun();
}
});
}

}

// 将方法注册为jquery方法,方便直接调用,例如:$.invokeAjax({/*这里是内部参数*/});
$.extend({
invokeAjax: function(param) {
performAjax.run(param)
}
});

})(jQuery);

调用示例:
function getJson(version){
    var obj=null;
    var param_Field={
    "version":version
    };
    $.invokeAjax({
    url:'/ZHHTBoss/s1/version/queryList',
    data:{'param':GetParam_Data(param_Field,pageNum,pageSize)},
    headers:{'NP-HttpRequest-Source':'boss_web'},
    sucfun:function(msg){
    if(msg.code=='0000'){
    totalNum=msg.total;
    totalPageNum=Math.ceil(totalNum/10);
    var rows=msg.data.VersionVO;
    var str="[";
    for(var i=0;i<rows.length;i++){
    var isActive='否';
    if(rows[i].isActive==1){
    isActive='是';
    }
    var isMustUpdate='否';
    if(rows[i].isMustUpdate==1){
    isMustUpdate='是';
    }
     str += "{\"appVersionId\":\""+rows[i].appVersionId+"\",\"version\":\""+rows[i].version+"\",\"url\":\""+rows[i].url+"\",\"content\":\""+rows[i].content+"\",\"createTime\":\""+(rows[i].createTime==null?"":rows[i].createTime)+"\",\"isActive\":\""+isActive+"\",\"isMustUpdate\":\""+isMustUpdate+"\"},"
    }
    if(str.length>0&&str.substring(str.length-1, str.length)==','){
    str=str.substring(0, str.length-1); 
    }
    str+=']';
    obj = eval( "(" + str + ")" );//转换后的JSON对象
    datarow = eval( "(" + str + ")" );
    $(grid_selector).jqGrid('setGridParam',{ 
           data:obj,
           page:1 
       }).trigger("reloadGrid");
    }else{
    alert(msg.msg);
    }
    }
    });
   }

//添加和编辑函数方法
function Add_EditForm(data,oper){
var url="";
if(oper=="edit"){
url="/ZHHTBoss/s1/version/update";
}
else if(oper=="add"){
url="/ZHHTBoss/s1/version/add";
}
$.invokeAjax({
    url:url,
    data:{'param':GetParam_DataAED(data)},
    headers:{'NP-HttpRequest-Source':'boss_web'},
    sucfun:function(msg){
    if(msg.code=='0000'){
    alert("操作成功!")
    $('.ui-jqdialog-titlebar-close.ui-corner-all').trigger('click');
    $("#searchInfo").trigger('click');
    }else{
    alert(msg.msg);
    }
    }
    });
}

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

wamp记录所有mysql执行日志

Continue Read..

查看系统服务,wampmysqld64,

查看详细信息,可以看到启动路径类似e:\wamp\bin\mysql\mysql5.6.17\bin\mysqld.exe wampmysqld64

可以看到带了参数,我们在my.ini里面加一段

[wampmysqld64]

general_log=1

general_log_file="e:/wamp/logs/mysql_sqllog.log"

 

这样就会记录所有的sql语句,类似下面的样子

 151203 11:04:26    1 Query SET PROFILING=1

   1 Query SHOW STATUS

   1 Query SHOW STATUS

   1 Query SELECT * FROM `user`

   1 Query SHOW STATUS

   1 Query SELECT QUERY_ID, SUM(DURATION) AS SUM_DURATION FROM INFORMATION_SCHEMA.PROFILING GROUP BY QUERY_ID

   1 Query SELECT STATE AS `Status`, ROUND(SUM(DURATION),7) AS `Duration`, CONCAT(ROUND(SUM(DURATION)/0.000419*100,3), '%') AS `Percentage` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=12 GROUP BY STATE

   1 Query SELECT * FROM `yii2_test`.`user` LIMIT 0

   1 Query SHOW COLUMNS FROM `yii2_test`.`user`

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

【PHP】加密解密

Continue Read..
/**
* 函数encrypt($string,$operation,$key)中$string:需要加密解密的字符串;$operation:判断是加密还是解密,E表示加密,D表示解密;$key:密匙。
* @param unknown $string
* @param unknown $operation
* @param string $key
* @return string
*/
function encrypt($string, $operation, $key = '') {
$key = md5 ( $key );
$key_length = strlen ( $key );
$string = $operation == 'D' ? base64_decode ( $string ) : substr ( md5 ( $string . $key ), 0, 8 ) . $string;
$string_length = strlen ( $string );
$rndkey = $box = array ();
$result = '';
for($i = 0; $i <= 255; $i ++) {
$rndkey [$i] = ord ( $key [$i % $key_length] );
$box [$i] = $i;
}
for($j = $i = 0; $i < 256; $i ++) {
$j = ($j + $box [$i] + $rndkey [$i]) % 256;
$tmp = $box [$i];
$box [$i] = $box [$j];
$box [$j] = $tmp;
}
for($a = $j = $i = 0; $i < $string_length; $i ++) {
$a = ($a + 1) % 256;
$j = ($j + $box [$a]) % 256;
$tmp = $box [$a];
$box [$a] = $box [$j];
$box [$j] = $tmp;
$result .= chr ( ord ( $string [$i] ) ^ ($box [($box [$a] + $box [$j]) % 256]) );
}
if ($operation == 'D') {
if (substr ( $result, 0, 8 ) == substr ( md5 ( substr ( $result, 8 ) . $key ), 0, 8 )) {
return substr ( $result, 8 );
} else {
return '';
}
} else {
return str_replace ( '=', '', base64_encode ( $result ) );
}
}


如果是GET  加个 urlencode

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权