#1198
展开↯#1199
作者:广西南宁市
这篇回答叫做:“为什么有时候下载东西一开始很快,后来就越来越慢”回答暨通信网理论基础课程复习笔记
不是套路!!!是TCP协议的拥塞控制机制导致的!
要理解TCP的拥塞控制机制,还得从古老的七层模型说起……

其中TCP协议应用于传输层,下载就是传输的一种,而TCP传输的速度基本是这样的

其中横坐标是传输次数,纵坐标是“拥塞窗口”数,就是要传输的报文需要先进入这个窗口才能发出去,简单的理解成传输速度就可以了a
假设我要在百度云上下载一个文件,以之为例解释一下这个过程。
(A→B段)
百度云:不知道当前网络环境怎么样,路上堵不堵……不管了发一个报文试试。
我:收到啦收到啦!
百度云:诶呦不错那再发两个试试~
……
百度云:行了行了差不多了可以慢点儿增加了
这一段,起点学名叫做慢开始,后面叫指数增大
(B→C段)
百度云:加一个
我:收到啦
百度云:再加一个
我:收到啦
百度云:再加一个
我:……
百度云:? 诶好像堵了= =
这一段,学名叫做,拥塞避免算法,即,加法增大
(C→D段)
百度云:算了从头开始
这一段叫做,乘法减小,开始新的慢开始,指数增大,但是,只增大到刚刚的一半,就进入拥塞避免阶段啦!(D→E段,E纵坐标是C的一半)
以上是TCP Tahoe版本的传输过程(也是主要考试的内容),然而实际上这个版本太基础了,已经废弃不用了,实际使用的是红线的版本,叫做TCP Reno(但是这个不考)

红色版本与蓝色版本的区别就是,红色版本的乘法减小并不是直接减到1然后重新慢开始,而是采用了效率高一些的“快恢复快重传”算法,也就是乘法减小至原来的一半(C→F段,F是C的一半)然后直接开始加法增大。这样可以看到比原来的蓝色版本稍微快了一点。
但下载还是很慢啊怎么办,关于这点老师的说法是,自己手动暂停一下,再重新开始下载,就又能享受一次第一次的指数增加加法增加的速度,不然后面一直减半减半减半就会越来越慢越慢越慢………………
以上都是与TCP协议有关的理论因素,其他因素还包括加速器啊下载器啊什么的
不是套路!!!是TCP协议的拥塞控制机制导致的!
要理解TCP的拥塞控制机制,还得从古老的七层模型说起……
其中TCP协议应用于传输层,下载就是传输的一种,而TCP传输的速度基本是这样的
其中横坐标是传输次数,纵坐标是“拥塞窗口”数,就是要传输的报文需要先进入这个窗口才能发出去,简单的理解成传输速度就可以了a
假设我要在百度云上下载一个文件,以之为例解释一下这个过程。
(A→B段)
百度云:不知道当前网络环境怎么样,路上堵不堵……不管了发一个报文试试。
我:收到啦收到啦!
百度云:诶呦不错那再发两个试试~
……
百度云:行了行了差不多了可以慢点儿增加了
这一段,起点学名叫做慢开始,后面叫指数增大
(B→C段)
百度云:加一个
我:收到啦
百度云:再加一个
我:收到啦
百度云:再加一个
我:……
百度云:? 诶好像堵了= =
这一段,学名叫做,拥塞避免算法,即,加法增大
(C→D段)
百度云:算了从头开始
这一段叫做,乘法减小,开始新的慢开始,指数增大,但是,只增大到刚刚的一半,就进入拥塞避免阶段啦!(D→E段,E纵坐标是C的一半)
以上是TCP Tahoe版本的传输过程(也是主要考试的内容),然而实际上这个版本太基础了,已经废弃不用了,实际使用的是红线的版本,叫做TCP Reno(但是这个不考)
红色版本与蓝色版本的区别就是,红色版本的乘法减小并不是直接减到1然后重新慢开始,而是采用了效率高一些的“快恢复快重传”算法,也就是乘法减小至原来的一半(C→F段,F是C的一半)然后直接开始加法增大。这样可以看到比原来的蓝色版本稍微快了一点。
但下载还是很慢啊怎么办,关于这点老师的说法是,自己手动暂停一下,再重新开始下载,就又能享受一次第一次的指数增加加法增加的速度,不然后面一直减半减半减半就会越来越慢越慢越慢………………
以上都是与TCP协议有关的理论因素,其他因素还包括加速器啊下载器啊什么的
文章:微信摇一摇统计次数微官网 发表时间:2017-07-12, 11:22:57
#1200
作者:广西南宁市
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">
<title>摇一摇-蛙有道</title>
<link rel="stylesheet" href="/yaoyiyao/css/shake.css">
<!--<link rel="stylesheet" href="/yaoyiyao/css/myDialog.css">-->
<link rel="stylesheet" href="/yaoyiyao/font-awesome.css?1">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
<!-- <script type="text/javascript" src="/js/jquery.min.js"></script> -->
<script type="text/javascript" src="/yaoyiyao/js/howler.min.js"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/fastclick.js"></script>-->
<script type="text/javascript" src="/yaoyiyao/js/shake.js?003"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/myDialog.js"></script>-->
<style>
*{padding:0px;margin:0px;font-size: 14px;}
#maddd{ color: green;position: fixed;
background: #babcc1;
width: 90%;
z-index: 999;
bottom: 5%;
left: 5%;
/* text-align: center; */
border-radius: 12px;padding:12px 0;}
#maddd p{padding:0 12px;}.red{color:red;}
.sssfff{ font-weight: bold;
color: #444;}
body #maddd .ssjppp{border-bottom: 1px solid #b1b1b1;
margin: 0 12px;
padding: 0px;
margin-bottom: 6px;
padding-bottom: 6px;}
#paiminnn{height: 120px; overflow-y: scroll;
overflow-x: hidden;margin-right: 5%;}
#paiminnn::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0);
background-color: #babcc1;
}
#paiminnn::-webkit-scrollbar
{
width:1px;
background-color: #444;
}
#paiminnn::-webkit-scrollbar-thumb
{
background-color: #444;
}
.f12{font-size: 12px;}
.w40{ width: 40px;
display: inline-block;}
.w100{width: 170px;
display: inline-block;}
.frr{ float: right;}
.ccddd4{color:#444;}
body #maddd .sss88{color: #969696;
text-align: center;
font-size: 12px;
border-bottom: none;
margin-top: 12px;padding-bottom:0px;margin-bottom:0px;}
.c3{color:#333;}
#ttoop{position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 60px;
color: #444;
font-size: 15px;
/*font-weight: bolder;*/
background: #fff url(/Uploads/Picture/2017-06-16/5943571af1849.jpg);
background-repeat: no-repeat;
background-size: contain;
text-align: right;
line-height: 60px;}
.ddiddd{ font-size: 12px;
color: #7b7b7b;
font-weight: normal;}
#loading{z-index: 9999;}
</style>
</head>
<body>
<table id="container">
<tbody>
<tr>
<td class="container" colspan="2">
<div id="shake">
<img src="/yaoyiyao/images/inner.png" class="inner">
<img src="/yaoyiyao/images/shake.png" class="shake_up" id="shakeup">
<img src="/yaoyiyao/images/shake.png" class="shake_down" id="shakedown">
</div>
<div id="loading" class="loading"></div>
</td>
</tr>
<!--<tr id="controlbar">
<td class="controlbar" onclick="javascript:shake();">
<img src="/yaoyiyao/images/sdy.png" width="40" height="53"><br>手动摇
</td>
</tr>
<tr id="cantshake" style="display:none"><td class="controlbar" colspan="2">对不起,您的手机无法支持摇一摇!</td></tr>-->
</tbody>
</table>
<div id="maddd">
<p style="font-weight:bolder;"><i class="fa fa-weixin"></i> <span style="color:#c7348c;">{$nickname}</span> <span class="ddiddd">(ID:{$nummsss})</span></p>
<p><i class="fa fa-bar-chart-o"></i> 累计摇一摇<span class="red">{$nummm}</span>次 <span class="frr"><i class="fa fa-clock-o"></i> 当前排名<span class="red">{$sssnumber}</span></span></p>
<p style="margin: 12px;height:1px;background: #444;"></p>
<div id="paiminnn">
<?php
foreach($sssall as $k=>$v){
$k++;
echo '<p class="ssjppp">';
if($k==1) echo '<i class="fa fa-flag"></i> ';
if($k==2) echo '<i class="fa fa-flag-checkered"></i> ';
if($k==3) echo '<i class="fa fa-flag-o"></i> ';
if($k>3) echo '<i class="fa fa-comments-o ccddd4"></i> ';
echo '<span class="sssfff w40">'.$k.'</span> <span class="w100 c3">'.$v['user'].'</span> <span class="f12 frr ccddd4"><span class="f12">'.$v['numm'].'</span>次</span></p>';
}
?>
<p class="ssjppp sss88">没有了</p>
</div>
</div>
<div id="ttoop"><span id="ssfsdfsdf"></span>
<img src="/yaoyiyao/gift_box_64px_503984_easyicon.net.png" height="50%" style="vertical-align: middle;" />摇大奖
</div>
<script>
//alert('欢迎你:{$nickname},摇一摇次数最多者将赢得精美礼品!');
//shake();
if(!localStorage.lastnamenn) localStorage.lastnamenn=0;
else puttt(localStorage.lastnamenn);
function puttt(n){
//console.log(n);
var yaoyiyao_id='{$yaoyiyao_id}';
if(!n || !yaoyiyao_id) return false;
if(!localStorage.lastnamenn) localStorage.lastnamenn=Number(localStorage.lastnamenn)+Number(n);
//alert(localStorage.lastnamenn);
$.ajax( {
url:"/index.php?s=/addon/WeiSite/WeiSite/yaoyiyaoiner.html",
type: "POST",
data:"yaoyiyao_id="+yaoyiyao_id+"&nnumm="+n,
//dataType: "json",
//cache: false,
//async: false,
beforeSend: function(){
$("#loading").attr('class','loading loading-show');
// Handle the beforeSend event
/*$("#shakedown").animate({ top: "40%" }, 700, function () {
$("#shakedown").animate({ top: "25%" }, 700, function () {
});
});*/
},
success: function(data){
$('#maddd').html(data);
$("#loading").attr('class','loading');
localStorage.lastnamenn=0;
},
error:function (data, status, e){
//alert('服务器繁忙,请摇慢一点(-。-;)');
setTimeout(function(){
location.href = '/index.php?s=/addon/WeiSite/WeiSite/yaoyiyao.html';
},1290);
}
});
}
</script>
</body>
</html>
Run code
Cut to clipboard
//摇一摇部分
var SHAKE_THRESHOLD = 800;// 首先,定义一个摇动的阀值
var last_update = 0;
var last_time = 0;
var x;
var y;
var z;
var last_x;
var last_y;
var last_z;
var sound = new Howl({ urls: ['/yaoyiyao/sound/shake_sound.mp3'] }).load();
//var findsound = new Howl({ urls: ['/yaoyiyao/sound/shake_match.mp3'] }).load();
var curTime;
var isShakeble = true;
function init() {
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
//$("#cantshake").show();
alert('本设备不支持摇一摇!');
}
}
function deviceMotionHandler(eventData) {
curTime = new Date().getTime();
var diffTime = curTime - last_update;
if (diffTime > 100) {
var acceleration = eventData.accelerationIncludingGravity;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
if (speed > SHAKE_THRESHOLD && curTime - last_time > 500 && isShakeble) {
// && $("#loading").attr('class') == "loading"
//ssfsdfsdfnum++;
window.clearTimeout(tmid);
shake();
}
last_x = x;
last_y = y;
last_z = z;
}
}
var newnumm=0,tmid,ssfsdfsdf=0,ssfsdfsdfnum=0;
function shake() {
last_time = curTime;
//$("#loading").attr('class','loading loading-show');
tmid=setTimeout(function(){
if(newnumm){
puttt(newnumm);
ssfsdfsdfnum=ssfsdfsdfnum+newnumm;
newnumm=0;
ssfsdfsdf++;
$('#ssfsdfsdf').text('+'+ssfsdfsdfnum);//ssfsdfsdf
$("#shakeup").stop(true,true);
$("#shakedown").stop(true,true);
}
//console.log(newnumm);
},1800);
newnumm++;
$("#shakeup").animate({ top: "10%" }, 700, function () {
$("#shakeup").animate({ top: "25%" }, 700, function () {
//$("#loading").attr('class','loading');
//console.log(newnumm);
//findsound.play();
/*myDialog.alert('恭喜你,中奖了');*/
});
});
sound.play();
$("#shakedown").animate({ top: "40%" }, 700, function () {
$("#shakedown").animate({ top: "25%" }, 700, function () {
});
});
}
//各种初始化
$(document).ready(function () {
Howler.iOSAutoEnable = false;
//$('#container').trigger("click");
//document.getElementById("container").click();
//Howler.mobileAutoEnable = true;
//FastClick.attach(document.body);
init();
});
Run code
Cut to clipboard
//yaoyiyao
function yaoyiyao(){
session(null);
//session('weiphp_home',null);
//$_SESSION['weiphp_home']=null;
//dump($_SESSION);exit;
//session('yaoyiyaotoken',null);
$allinfo=getWeixinUserInfo(get_openid(),get_token());
//$allinfo=array('openid'=>'okKYm1QwHgKb_wGI222l262','nickname'=>'发大水法');
//dump($allinfo);exit;
$mapw['oppid']=$allinfo['openid'];//get_openid();
//$sss=M('yaoyiyao')->where($mapw)->limit(1)->find();
$sssall=M('yaoyiyao')->order('numm desc')->select();
foreach($sssall as $sk=>$sv){
$sssnumbers++;
if($sv['oppid']==$mapw['oppid']){
$sss[]=$sv;
$sssnumber=$sssnumbers;
}
}
$sss=$sss['0'];
//dump($sss);exit;
if(!$sss['id']){
$map['ctime']=time();
$map['user']=$allinfo['nickname'];;
$map['numm']=0;
$map['oppid']=$mapw['oppid'];
$map['nummsss']=rand(10,99).date('is',time()).rand(100,999);
$sss['id']=M('yaoyiyao')->where($mapw)->limit(1)->add($map);
}
if(!$sss['id']){
header('Location:/index.php?s=/home/Index/leaflets/token/gh_41ee220e58f1.html');
exit;
}
session('yaoyiyaotoken', $value=$sss['id']);
$this->assign('yaoyiyao_id',$sss['id']);
$this->assign('sssall',$sssall);
$nummsss=$map['nummsss'];
if(!$map['nummsss']) $nummsss=$sss['nummsss'];
$this->assign('nummsss',$nummsss);
$this->assign('sssnumber',($sssnumber+0));
$this->assign('nickname',$allinfo['nickname']);
$this->assign('nummm',($sss['numm']+0));
$configyaoyiyy=getAddonConfig('Yaoyiyao');
$this->assign('configyaoyiyy',$configyaoyiyy);
//活动开始时间
$starttime=strtotime($configyaoyiyy['start']);
//活动结束时间
$endndtime=strtotime($configyaoyiyy['end']);
$timesss=time();
$yyhtmo='yaoyiyao';
//活动未开始
if($starttime>$timesss){
$yyhtmo='yaoyiyaonostart';
}
//活动已经结束
if($endndtime<$timesss){
$yyhtmo='yaoyiyaonoend';
}
if(!$configyaoyiyy['random']) $yyhtmo='yaoyiyaoclose'; //关闭
$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/'.$yyhtmo.'.html');
}
//摇一摇录入
function yaoyiyaoiner(){
//session_start();
$mapw['id']=$_POST['yaoyiyao_id'];
if(session('yaoyiyaotoken')!=$mapw['id']) exit(0);//验证是否摇一摇页面
//$map['ctime']=time();
//$mapw['user']='test';
$map['numm']=array('exp','numm+'.($_POST['nnumm']+0));
M('yaoyiyao')->where($mapw)->limit(1)->save($map);
$sssall=M('yaoyiyao')->order('numm desc')->select();
foreach($sssall as $sk=>$sv){
$sssnumbers++;
if($sv['id']==$mapw['id']){
$sss[]=$sv;
$sssnumber=$sssnumbers;
}
}
$sss=$sss['0'];
$this->assign('sssnumber',($sssnumber+0));
$this->assign('nickname',$sss['user']);
$this->assign('nummm',($sss['numm']+0));
$this->assign('nummsss',$sss['nummsss']);
$this->assign('sssall',$sssall);
$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/yaoyiyaosssall.html');
}Run code
Cut to clipboard
if(!localStorage.lastnamenn) localStorage.lastnamenn=Number(n);Run code
Cut to clipboard
文章:微信摇一摇统计次数微官网 发表时间:2017-07-11, 18:02:38
#1201
作者:广西南宁市
JavaScript中8个常见的陷阱
1. 你是否尝试过对数组元素进行排序?
JavaScript默认使用字典序(alphanumeric)来排序。因此,[1,2,5,10].sort()的结果是[1, 10, 2, 5]。
如果你想正确的排序,应该这样做:
2. new Date() 十分好用
new Date()的使用方法有:
不接收任何参数:返回当前时间;
接收一个参数x: 返回1970年1月1日 + x毫秒的值。
new Date(1, 1, 1)返回1901年2月1号。
然而....,new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年。
3. 替换函数没有真的替换?
如果你想把所有的b都替换掉,要使用正则:
4. 谨慎对待比较运算
因为[1,2,3]和[1,2,3]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断。
5. 数组不是基础类型
如果要判断一个变量var是否是数组,你需要使用Array.isArray(var)。
6. 闭包
这是一个经典的JavaScript面试题:
虽然期望输出0,1,2,...,然而实际上却不会。知道如何Debug嘛?
有两种方法:
使用let而不是var。备注:可以参考Fundebug的另一篇博客ES6之"let"能替代"var"吗?
使用bind函数。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“this”
Greeters.push(console.log.bind(null, i))
当然,还有很多解法。这两种是我最喜欢的!
7. 关于bind
下面这段代码会输出什么结果?
如果你说程序会崩溃,并且报错:Cannot read property 'name' of undefined。
因为第16行的geet没有在正确的环境下执行。当然,也有很多方法解决这个BUG!
我喜欢使用bind函数来解决问题:
这样会确保greet会被Foo的实例调用,而不是局部的函数的this。
如果你想要greet永远不会绑定到错误的作用域,你可以在构造函数里面使用bind来绑 。
你也可以使用箭头函数(=>)来防止作用域被修改。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“箭头函数”。
8. Math.min()比Math.max()大
因为Math.min() 返回 Infinity, 而 Math.max()返回 -Infinity。
原文: Who said javascript was easy ?
译者: Fundebug的全栈BUG监控
1. 你是否尝试过对数组元素进行排序?
JavaScript默认使用字典序(alphanumeric)来排序。因此,[1,2,5,10].sort()的结果是[1, 10, 2, 5]。
如果你想正确的排序,应该这样做:
[1,2,5,10].sort((a, b) => a - b)Run code
Cut to clipboard
2. new Date() 十分好用
new Date()的使用方法有:
不接收任何参数:返回当前时间;
接收一个参数x: 返回1970年1月1日 + x毫秒的值。
new Date(1, 1, 1)返回1901年2月1号。
然而....,new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年。
3. 替换函数没有真的替换?
let s = "bob"
const replaced = s.replace('b', 'l')
replaced === "lob" // 只会替换掉第一个b
s === "bob" // 并且s的值不会变Run code
Cut to clipboard
如果你想把所有的b都替换掉,要使用正则:
"bob".replace(/b/g, 'l') === 'lol'Run code
Cut to clipboard
4. 谨慎对待比较运算
// 这些可以
'abc' === 'abc' // true
1 === 1 // true
// 然而这些不行
[1,2,3] === [1,2,3] // false
{a: 1} === {a: 1} // false
{} === {} // falseRun code
Cut to clipboard
因为[1,2,3]和[1,2,3]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断。
5. 数组不是基础类型
typeof {} === 'object' // true
typeof 'a' === 'string' // true
typeof 1 === number // true
// 但是....
typeof [] === 'object' // trueRun code
Cut to clipboard
如果要判断一个变量var是否是数组,你需要使用Array.isArray(var)。
6. 闭包
这是一个经典的JavaScript面试题:
const Greeters = []
for (var i = 0 ; i < 10 ; i++) {
Greeters.push(function () { return console.log(i) })
}
Greeters[0]() // 10
Greeters[1]() // 10
Greeters[2]() // 10Run code
Cut to clipboard
虽然期望输出0,1,2,...,然而实际上却不会。知道如何Debug嘛?
有两种方法:
使用let而不是var。备注:可以参考Fundebug的另一篇博客ES6之"let"能替代"var"吗?
使用bind函数。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“this”
Greeters.push(console.log.bind(null, i))
当然,还有很多解法。这两种是我最喜欢的!
7. 关于bind
下面这段代码会输出什么结果?
class Foo {
constructor (name) {
this.name = name
}
greet () {
console.log('hello, this is ', this.name)
}
someThingAsync () {
return Promise.resolve()
}
asyncGreet () {
this.someThingAsync()
.then(this.greet)
}
}
new Foo('dog').asyncGreet()Run code
Cut to clipboard
如果你说程序会崩溃,并且报错:Cannot read property 'name' of undefined。
因为第16行的geet没有在正确的环境下执行。当然,也有很多方法解决这个BUG!
我喜欢使用bind函数来解决问题:
asyncGreet () {
this.someThingAsync()
.then(this.greet.bind(this))
}Run code
Cut to clipboard
这样会确保greet会被Foo的实例调用,而不是局部的函数的this。
如果你想要greet永远不会绑定到错误的作用域,你可以在构造函数里面使用bind来绑 。
class Foo {
constructor (name) {
this.name = name
this.greet = this.greet.bind(this)
}
}Run code
Cut to clipboard
你也可以使用箭头函数(=>)来防止作用域被修改。备注:可以参考Fundebug的另一篇博客JavaScript初学者必看“箭头函数”。
asyncGreet () {
this.someThingAsync()
.then(() => {
this.greet()
})
}Run code
Cut to clipboard
8. Math.min()比Math.max()大
Math.min() < Math.max() // falseRun code
Cut to clipboard
因为Math.min() 返回 Infinity, 而 Math.max()返回 -Infinity。
原文: Who said javascript was easy ?
译者: Fundebug的全栈BUG监控
文章:微信摇一摇统计次数微官网 发表时间:2017-07-11, 17:39:09
#1202
作者:广西南宁市
//摇一摇部分
var SHAKE_THRESHOLD = 800;// 首先,定义一个摇动的阀值
var last_update = 0;
var last_time = 0;
var x;
var y;
var z;
var last_x;
var last_y;
var last_z;
var sound = new Howl({ urls: ['/yaoyiyao/sound/shake_sound.mp3'] }).load();
//var findsound = new Howl({ urls: ['/yaoyiyao/sound/shake_match.mp3'] }).load();
var curTime;
var isShakeble = true;
function init() {
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
//$("#cantshake").show();
alert('本设备不支持摇一摇!');
}
}
function deviceMotionHandler(eventData) {
curTime = new Date().getTime();
var diffTime = curTime - last_update;
if (diffTime > 100) {
var acceleration = eventData.accelerationIncludingGravity;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
if (speed > SHAKE_THRESHOLD && curTime - last_time > 500 && isShakeble) {
// && $("#loading").attr('class') == "loading"
window.clearTimeout(tmid);
shake();
}
last_x = x;
last_y = y;
last_z = z;
}
}
var newnumm=0,tmid,ssfsdfsdf=0;
function shake() {
last_time = curTime;
//$("#loading").attr('class','loading loading-show');
tmid=setTimeout(function(){
if(newnumm){
puttt(newnumm);
newnumm=0;
ssfsdfsdf++;
$('#ssfsdfsdf').text(ssfsdfsdf);
$("#shakeup").stop(true,true);
$("#shakedown").stop(true,true);
}
//console.log(newnumm);
},1600);
newnumm++;
$("#shakeup").animate({ top: "10%" }, 700, function () {
$("#shakeup").animate({ top: "25%" }, 700, function () {
//$("#loading").attr('class','loading');
//console.log(newnumm);
//findsound.play();
/*myDialog.alert('恭喜你,中奖了');*/
});
});
sound.play();
$("#shakedown").animate({ top: "40%" }, 700, function () {
$("#shakedown").animate({ top: "25%" }, 700, function () {
});
});
}
//各种初始化
$(document).ready(function () {
Howler.iOSAutoEnable = false;
//$('#container').trigger("click");
//document.getElementById("container").click();
//Howler.mobileAutoEnable = true;
//FastClick.attach(document.body);
init();
});
Run code
Cut to clipboard
Document自带的方法:
循环执行:var timeid = window.setInterval(“方法名或方法”,“延时”);window.clearInterval(timeid);
定时执行:var tmid = window.setTimeout(“方法名或方法”, “延时”);window.clearTimeout(tmid); Run code
Cut to clipboard
文章:微信摇一摇统计次数微官网 发表时间:2017-07-11, 17:18:59
#1203
作者:广西南宁市
<script>
//浮点转为整数也可能有误差,那么这个问题有没有解决方案?
alert(0.57*100);
</script>Run code
Cut to clipboard
<script>
/**
* [scaleNum 通过操作其字符串将一个浮点数放大或缩小]
* @param {number} num 要放缩的浮点数
* @param {number} pos 小数点移动位数
* pos大于0为放大,小于0为缩小;不传则默认将其变成整数
* @return {number} 放缩后的数
*/
"use strict";
function scaleNum(num, pos) {
if (num === 0 || pos === 0) {
console.log(1);
return num;
}
let parts = num.toString().split('.');
const intLen = parts[0].length;
const decimalLen = parts[1] ? parts[1].length : 0;
// 默认将其变成整数,放大倍数为原来小数位数
if (pos === undefined) {
console.log(2);
return parseFloat(parts[0] + parts[1]);
} else if (pos > 0) {
// 放大
let zeros = pos - decimalLen;
while (zeros > 0) {
zeros -= 1;
parts.push(0);
}
} else {
// 缩小
let zeros = Math.abs(pos) - intLen;
while (zeros > 0) {
zeros -= 1;
parts.unshift(0);
}
}
const idx = intLen + pos;
parts = parts.join('').split('');
parts.splice(idx > 0 ? idx : 0, 0, '.');
console.log(3);
return parseFloat(parts.join(''));
}
alert(scaleNum(0.57));
</script>Run code
Cut to clipboard
针对单个脚本
<script>
"use strict";
console.log("这是严格模式。");
</script>Run code
Cut to clipboard
针对单个函数
function strict(){
"use strict";
return "这是严格模式。";
}
function notStrict() {
return "这是正常模式。";
}Run code
Cut to clipboard
$(".zx>li").click(function() {
clearTimeout(cce);
});
var cce;
$(window).scroll(function() {
var wintop = $(window).scrollTop();
clearTimeout( cce );//终止触发的setTimeout防止重复执行
cce = setTimeout(function() {
if (wintop > 200) {
if (!$(".bh").hasClass("gb")) {
$(".bh").addClass("gb");
$(".bh").animate({
top: 57
}, 500);
return false;
}
}
}, 1000);
});Run code
Cut to clipboard
<script>
var url = 'http://g8up.cn';
var a = document.createElement('a');
a.innerHTML = url;
window.open( a.innerHTML );
</script>Run code
Cut to clipboard
文章:JS浮点数运算多出很多位小数点Bug的解决办法 发表时间:2017-07-11, 15:37:03
#1205
作者:广西南宁市
少女映画,神秘代码:2263fb43051b5ddd69cfa7489e422181064361fc
文章:谈BT种子和磁链为何求种只给你神秘代码 发表时间:2017-07-11, 14:58:14
#1206
展开↯#1208
作者:广西南宁市
男主的大屌长达【好几米】是的你没看错
和几个女人啪啪啪都把人家【从头插到尾】给【怼死了】。。。
男主8感到万分悲伤因为没有女人能活着伺候完他那【一个月不倒】而且【长达几米直径五十厘米】的丁丁
于是归隐山林不闻世事
然后有次上山挖槽搞到一种蘑菇
和飞机杯差不多功效
男主超级开心用蘑菇自己动手解决生理问题
因为肾实在是太好撸了一个月才撸完。。。。神奇的是蘑菇没有烂。。。
于是男主超高兴啊心想撸蘑菇不好吗为什么要去找女朋友于是就【和蘑菇 拜天地结婚了。。。。】
最神奇的是后来
蘑菇因为吸收男主jingye和日月精华【成精了】。。。
于是男主角就有了一个会说话会做饭贤妻良母只重要的是【胸大屁股翘颜好腰细可以自动调节内部通道长度还不会被艹死】的女朋友。。。
快乐生活在一起之后生了个蘑菇宝。。成人之后也是女孩子。。于是母女两个就一起和男主玩起了3p。。。
再后来某个月黑风高的夜晚男主觉得这一想操人就操一个月的这个大jj太费时间了于是就切了。。。。切了。。。
切完之后修剪成了正常的尺寸。。结果不会操死人但不能满足蘑菇母女了。。。
故事的结局男主嫌弃蘑菇母女太能要就。。就。。就把母女宰了。。
母亲炖了汤女儿炒了菜。。。。
和几个女人啪啪啪都把人家【从头插到尾】给【怼死了】。。。
男主8感到万分悲伤因为没有女人能活着伺候完他那【一个月不倒】而且【长达几米直径五十厘米】的丁丁
于是归隐山林不闻世事
然后有次上山挖槽搞到一种蘑菇
和飞机杯差不多功效
男主超级开心用蘑菇自己动手解决生理问题
因为肾实在是太好撸了一个月才撸完。。。。神奇的是蘑菇没有烂。。。
于是男主超高兴啊心想撸蘑菇不好吗为什么要去找女朋友于是就【和蘑菇 拜天地结婚了。。。。】
最神奇的是后来
蘑菇因为吸收男主jingye和日月精华【成精了】。。。
于是男主角就有了一个会说话会做饭贤妻良母只重要的是【胸大屁股翘颜好腰细可以自动调节内部通道长度还不会被艹死】的女朋友。。。
快乐生活在一起之后生了个蘑菇宝。。成人之后也是女孩子。。于是母女两个就一起和男主玩起了3p。。。
再后来某个月黑风高的夜晚男主觉得这一想操人就操一个月的这个大jj太费时间了于是就切了。。。。切了。。。
切完之后修剪成了正常的尺寸。。结果不会操死人但不能满足蘑菇母女了。。。
故事的结局男主嫌弃蘑菇母女太能要就。。就。。就把母女宰了。。
母亲炖了汤女儿炒了菜。。。。
文章:@意见反馈/技术支持/伊网/安企网 发表时间:2017-07-10, 17:40:15
#1209
作者:广西南宁市
css背景图不跟着内容走
.bg-img1 {
background-image: url(../images/ghfa-bj.jpg);
background-size: cover !important;
background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;
}Run code
Cut to clipboard
文章:常用html、demo代码 发表时间:2017-07-10, 17:29:27
#1210
作者:广西南宁市
国际企业的VPN
Astrill和Witopia是海归们使用的比较多的VPN软件。都是收取月费或者年费。速度快,稳定。
国内企业的VPN
1.GreenVPN:又称“Green网络加速器”,是2008年开始运营的一家香港老牌VPN服务商,特点是信誉口碑好。如果你是打算长期使用VPN的,推荐使用这个。
2. NydusVPN:2012年年底开始进入国内市场的VPN供应商,客户端软件方面做得比较有特色,线路以美国和东南亚线路为主。注册帐号可以免费试用7 天时间,这个有点绕,其实是1天付费线路试用,6天免费线路试用,后者相对来说质量就比较差了。不过总的来说,还算慷慨的了。
3. 鲨鱼VPN:近两年兴起的一家国内VPN服务商,各方面感觉有点像模仿GreenVPN,包括套餐定价之类的,总的来说还算不错。
4. 51VPN:51VPN,09年成立的一家服务商,也是比较靠谱的商家,线路包括美国、日本、香港、台湾、韩国这几个地区,优势是线路专一多选,注册即可每月免费使用2G流量,非常给力。购买包年仅需139元并且支持4个终端。
适合手机安装的VPN App比较推荐网际直通车和Astrill
Astrill和Witopia是海归们使用的比较多的VPN软件。都是收取月费或者年费。速度快,稳定。
国内企业的VPN
1.GreenVPN:又称“Green网络加速器”,是2008年开始运营的一家香港老牌VPN服务商,特点是信誉口碑好。如果你是打算长期使用VPN的,推荐使用这个。
2. NydusVPN:2012年年底开始进入国内市场的VPN供应商,客户端软件方面做得比较有特色,线路以美国和东南亚线路为主。注册帐号可以免费试用7 天时间,这个有点绕,其实是1天付费线路试用,6天免费线路试用,后者相对来说质量就比较差了。不过总的来说,还算慷慨的了。
3. 鲨鱼VPN:近两年兴起的一家国内VPN服务商,各方面感觉有点像模仿GreenVPN,包括套餐定价之类的,总的来说还算不错。
4. 51VPN:51VPN,09年成立的一家服务商,也是比较靠谱的商家,线路包括美国、日本、香港、台湾、韩国这几个地区,优势是线路专一多选,注册即可每月免费使用2G流量,非常给力。购买包年仅需139元并且支持4个终端。
适合手机安装的VPN App比较推荐网际直通车和Astrill
文章:三步实现免费PHP空间搭建GoAgent翻墙 发表时间:2017-07-10, 15:21:26
#1211
作者:北京市
$_SESSION openid bug
#,北京市,2017-07-07,23:41:51,
ios 默认不能自动播放音频文件,需要监听一个事件 scroll 或 click 事件触发音频播放,音频格式并无关系。
howler.js这个插件 #,北京市,2017-07-07,23:45:53,
function yaoyiyao(){
session(null);
//session('weiphp_home',null);
//$_SESSION['weiphp_home']=null;
//dump($_SESSION);exit;
//session('yaoyiyaotoken',null);Run code
Cut to clipboard
ios 默认不能自动播放音频文件,需要监听一个事件 scroll 或 click 事件触发音频播放,音频格式并无关系。
howler.js这个插件
session(null);Run code
Cut to clipboard
文章:微信摇一摇统计次数微官网 发表时间:2017-07-07, 19:18:24
#1212
作者:广西南宁市
因为从心理上来说,每个员工最终都倾向于高估自己的价值,(老板给你加了两次工资,时间久了你还是会希望继续加薪)。对老板来说,衡量你的产出价值和发给你的工资是否对等是一件困难的事。所以老板就会倾向于不加工资,这样价值判断的困境就会转移到员工身上。
两个场景:
A.老板每隔一段时间就要给所有员工加工资,假如有 20 个员工,一人加 1000,两次之后每个月就要多支出 4w
B.老板不给任何人加工资,两轮之后,10 人因为能力稳定等各种问题选择了继续忍受,10 人选择了离开,老板重新招聘 10 人,每个人在原基础上加薪 2000,每个月只要多支出 2w
这个模型成立的关键就是最终选择忍受的人多于离职的人。据我暗中观察是这样的。
两个场景:
A.老板每隔一段时间就要给所有员工加工资,假如有 20 个员工,一人加 1000,两次之后每个月就要多支出 4w
B.老板不给任何人加工资,两轮之后,10 人因为能力稳定等各种问题选择了继续忍受,10 人选择了离开,老板重新招聘 10 人,每个人在原基础上加薪 2000,每个月只要多支出 2w
这个模型成立的关键就是最终选择忍受的人多于离职的人。据我暗中观察是这样的。
文章:他不是脾气暴躁,只是不能被打扰 发表时间:2017-07-07, 15:41:24
#1213
作者:广西南宁市
//yaoyiyao
function yaoyiyao(){
session('yaoyiyaotoken',null);
$allinfo=getWeixinUserInfo(get_openid(),get_token());
//$allinfo=array('openid'=>'okKYm1QwHgKb_wGI222l262','nickname'=>'发大水法');
//dump($allinfo);exit;
$mapw['oppid']=$allinfo['openid'];//get_openid();
//$sss=M('yaoyiyao')->where($mapw)->limit(1)->find();
$sssall=M('yaoyiyao')->order('numm desc')->select();
foreach($sssall as $sk=>$sv){
$sssnumbers++;
if($sv['oppid']==$mapw['oppid']){
$sss[]=$sv;
$sssnumber=$sssnumbers;
}
}
$sss=$sss['0'];
//dump($sss);exit;
if(!$sss['id']){
$map['ctime']=time();
$map['user']=$allinfo['nickname'];;
$map['numm']=0;
$map['oppid']=$mapw['oppid'];
$map['nummsss']=rand(10,99).date('is',time()).rand(100,999);
$sss['id']=M('yaoyiyao')->where($mapw)->limit(1)->add($map);
}
if(!$sss['id']){
header('Location:/index.php?s=/addon/WeiSite/WeiSite/index.html');
exit;
}
session('yaoyiyaotoken', $value=$sss['id']);
$this->assign('yaoyiyao_id',$sss['id']);
$this->assign('sssall',$sssall);
$nummsss=$map['nummsss'];
if(!$map['nummsss']) $nummsss=$sss['nummsss'];
$this->assign('nummsss',$nummsss);
$this->assign('sssnumber',($sssnumber+0));
$this->assign('nickname',$allinfo['nickname']);
$this->assign('nummm',($sss['numm']+0));
$configyaoyiyy=getAddonConfig('Yaoyiyao');
$this->assign('configyaoyiyy',$configyaoyiyy);
//活动开始时间
$starttime=strtotime($configyaoyiyy['start']);
//活动结束时间
$endndtime=strtotime($configyaoyiyy['end']);
$timesss=time();
$yyhtmo='yaoyiyao';
//活动未开始
if($starttime>$timesss){
$yyhtmo='yaoyiyaonostart';
}
//活动已经结束
if($endndtime<$timesss){
$yyhtmo='yaoyiyaonoend';
}
if(!$configyaoyiyy['random']) $yyhtmo='yaoyiyaoclose'; //关闭
$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/'.$yyhtmo.'.html');
}
//摇一摇录入
function yaoyiyaoiner(){
//session_start();
$mapw['id']=$_POST['yaoyiyao_id'];
if(session('yaoyiyaotoken')!=$mapw['id']) exit(0);//验证是否摇一摇页面
//$map['ctime']=time();
//$mapw['user']='test';
$map['numm']=array('exp','numm+'.($_POST['nnumm']+0));
M('yaoyiyao')->where($mapw)->limit(1)->save($map);
$sssall=M('yaoyiyao')->order('numm desc')->select();
foreach($sssall as $sk=>$sv){
$sssnumbers++;
if($sv['id']==$mapw['id']){
$sss[]=$sv;
$sssnumber=$sssnumbers;
}
}
$sss=$sss['0'];
$this->assign('sssnumber',($sssnumber+0));
$this->assign('nickname',$sss['user']);
$this->assign('nummm',($sss['numm']+0));
$this->assign('nummsss',$sss['nummsss']);
$this->assign('sssall',$sssall);
$this->display(ONETHINK_ADDON_PATH . 'WeiSite/View/default/TemplateIndex/' . $this->config ['template_index'] . '/yaoyiyaosssall.html');
}Run code
Cut to clipboard
beforeSend: function(){
// Handle the beforeSend event
},
success: function(data){
$('#maddd').html(data);
},
error:function (data, status, e){
alert('服务器繁忙,请摇慢一点(-。-;)');
location.href = '/index.php?s=/addon/WeiSite/WeiSite/yaoyiyao.html';
}Run code
Cut to clipboard
//运动事件监听
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion',deviceMotionHandler,false);
}
//获取加速度信息
//通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,进行设备是否有进行晃动的判断。
//而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。
var SHAKE_THRESHOLD = 4000;
var last_update = 0;
var x, y, z, last_x = 0, last_y = 0, last_z = 0;
function deviceMotionHandler(eventData) {
var acceleration =eventData.accelerationIncludingGravity;
var curTime = new Date().getTime();
if ((curTime-last_update)> 10) {
var diffTime = curTime -last_update;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x +y + z - last_x - last_y - last_z) / diffTime * 10000;
if (speed > SHAKE_THRESHOLD) {
alert("你中奖啦!"); // Do something
}
last_x = x;
last_y = y;
last_z = z;
}
}Run code
Cut to clipboard
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
alert('本设备不支持devicemotion事件');
}Run code
Cut to clipboard
文章:微信摇一摇统计次数微官网 发表时间:2017-07-07, 12:06:15
#1214
作者:广西南宁市
config.html #,广西南宁市,2017-07-07,12:05:06, #,广西南宁市,2017-07-07,12:05:50,
<extend name="Base/common" />
<block name="body">
<script src="/yaoyiyao/laydate/laydate.js"></script>
<div class="span9 page_message">
<section id="contents">
<include file="Addons/_nav" />
<div class="tab-content has-weixinpreivew">
<form action="{:U('config')}" class="form-horizontal fl" method="post">
<empty name="custom_config">
<foreach name="data['config']" item="form" key="o_key">
<div class="form-item cf">
<label class="item-label">
{$form.title|default=''}
<present name="form.tip">
<span class="check-tips">{$form.tip}</span>
</present>
</label>
<switch name="form.type">
<case value="text">
<div class="controls">
<input id="cardName{$o_key}" type="text" name="config[{$o_key}]" class="text input-large" value="{$form.value}">
</div>
</case>
<case value="password">
<div class="controls">
<input type="password" name="config[{$o_key}]" class="text input-large" value="{$form.value}">
</div>
</case>
<case value="hidden">
<input type="hidden" name="config[{$o_key}]" id="hidden_{$o_key}" value="{$form.value}">
</case>
<case value="radio">
<div class="controls">
<foreach name="form.options" item="opt" key="opt_k">
<label class="radio">
<input type="radio" name="config[{$o_key}]" value="{$opt_k}" <eq name="form.value" value="$opt_k"> checked</eq>>{$opt}
</label>
</foreach>
</div>
</case>
<case value="checkbox">
<div class="controls">
<foreach name="form.options" item="opt" key="opt_k">
<label class="checkbox">
<php>
is_null($form["value"]) && $form["value"] = array();
</php>
<input type="checkbox" name="config[{$o_key}][]" value="{$opt_k}" <in name="opt_k" value="$form.value"> checked</in>>{$opt}
</label>
</foreach>
</div>
</case>
<case value="select">
<div class="controls">
<select name="config[{$o_key}]" id="select_{$o_key}">
<foreach name="form.options" item="opt" key="opt_k">
<option value="{$opt_k}" <eq name="form.value" value="$opt_k"> selected</eq>>{$opt}</option>
</foreach>
</select>
</div>
<if condition="$o_key=='background'">
<!-- 自定义上传背景 -->
<div class="controls uploadrow" id="uploadControls" style="display:none">
<input type="file" id="upload_picture_bg">
<input type="hidden" name="config[bg]" id="cover_id_bg"/>
<div class="upload-img-box" rel='img'>
<notempty name="data[bg]">
<div class="upload-pre-item"><img width="120" height="120" src="__ROOT__{$data[bg]|get_cover='path'}"/></div>
</notempty>
</div>
</div>
<script type="text/javascript">
//上传图片
/* 初始化上传插件 */
$("#upload_picture_bg").uploadify({
"height" : 120,
"swf" : "__STATIC__/uploadify/uploadify.swf",
"fileObjName" : "download",
"buttonText" : "上传卡片图片",
"uploader" : "{:U('home/File/uploadPicture',array('session_id'=>session_id()))}",
"width" : 120,
'removeTimeout' : 1,
'fileTypeExts' : '*.jpg; *.png; *.gif;',
"onUploadSuccess" : uploadPicturebg
});
function uploadPicturebg(file, data){
var data = $.parseJSON(data);
var src = '';
if(data.status){
$("#cover_id_bg").val(data.id);
src = data.url || '__ROOT__' + data.path;
$('#cardBg').attr("href",src);
$('#cardBgImg').attr("src",src);
$("#cover_id_bg").parent().find('.upload-img-box').html(
'<div class="upload-pre-item"><img width="120" height="120" src="' + src + '"/></div>'
);
} else {
updateAlert(data.info);
setTimeout(function(){
$('#top-alert').find('button').click();
$(that).removeClass('disabled').prop('disabled',false);
},1500);
}
}
</script>
</if>
</case>
<case value="textarea">
<div class="controls">
<label class="textarea input-large">
<textarea name="config[{$o_key}]">{$form.value}</textarea>
</label>
</div>
</case>
</switch>
</div>
</foreach>
<else />
<present name="custom_config">
{$custom_config}
</present>
</empty>
<input type="hidden" name="id" value="{$data.id}" readonly>
<button type="submit" class="btn submit-btn ajax-post" target-form="form-horizontal">确 定</button>
</form>
<!--<div class="card_preview fr">
<a id="cardBg" href="{:ADDON_PUBLIC_PATH}/card_bg_1.png" target="_blank"><img id="cardBgImg" src="{:ADDON_PUBLIC_PATH}/card_bg_1.png" width="100%" height="100%"></a>
<span class="card_num" id="cardNumber">NO. 80001</span>
<span class="card_name"></span>
</div>-->
</div>
</section>
</div>
</block>
<block name="script">
<script type="text/javascript" charset="utf-8">
//导航高亮
$('.side-sub-menu').find('a[href="{:U('Addons/index')}"]').closest('li').addClass('current');
if($('ul.tab-nav').length){
$('.btn-return').hide();
}
$(function(){
showTab();
$('#select_background').change(function(){
if($(this).val()==11){
$('#uploadControls').show();
}else{
var cardBgUrl = '{:ADDON_PUBLIC_PATH}/card_bg_'+$(this).val()+".png";
$('#cardBg').attr("href",cardBgUrl);
$('#cardBgImg').attr("src",cardBgUrl);
$('#uploadControls').hide();
}
});
$('#select_length').change(function(){
var val = 'NO. '+$(this).val();
$('#cardNumber').html(val);
});
$('#cardName').keyup(function(){
$('.card_name').html($(this).val());
})
//初始化
$('.card_name').html($('#cardName').val());
$('#cardNumber').html('NO. '+$('#select_length').val());
if($('#select_background').val()==11){
$('#uploadControls').show();
var cardBgUrl = $("#hidden_background_custom").val();
}else{
var cardBgUrl = '{:ADDON_PUBLIC_PATH}/card_bg_'+$('#select_background').val()+".png";
}
$('#cardBg').attr("href",cardBgUrl);
$('#cardBgImg').attr("src",cardBgUrl);
})
</script>
<script>
var start = {
elem: '#cardNamestart',
format: 'YYYY/MM/DD hh:mm:ss',
/*min: laydate.now(), //设定最小日期为当前日期
max: '2099-06-16 23:59:59', //最大日期*/
istime: true,
istoday: false,
choose: function(datas){
end.min = datas; //开始日选好后,重置结束日的最小日期
end.start = datas //将结束日的初始值设定为开始日
}
};
var end = {
elem: '#cardNameend',
format: 'YYYY/MM/DD hh:mm:ss',
min: laydate.now(),
max: '2099-06-16 23:59:59',
istime: true,
istoday: false,
choose: function(datas){
start.max = datas; //结束日选好后,重置开始日的最大日期
}
};
laydate(start);
laydate(end);
</script>
</block>
Run code
Cut to clipboard
<extend name="Base/common" />
<block name="body">
<include file="Addons/_nav" />
<button class="btn submit-btn ajax-post" style="margin-left: 9px;" onclick="location.href = '/index.php?s=/addon/Yaoyiyao/Yaoyiyao/dc/del/ok.html';">点击清零摇一摇次数(将不可恢复)</button>
</block>
Run code
Cut to clipboard
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">
<title>摇一摇-蛙有道</title>
<link rel="stylesheet" href="/yaoyiyao/css/shake.css">
<link rel="stylesheet" href="/yaoyiyao/css/myDialog.css">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
<!-- <script type="text/javascript" src="/js/jquery.min.js"></script> -->
<script type="text/javascript" src="/yaoyiyao/js/howler.min.js"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/fastclick.js"></script>-->
<script type="text/javascript" src="/yaoyiyao/js/shake.js?9"></script>
<!--<script type="text/javascript" src="/yaoyiyao/js/myDialog.js"></script>-->
<style>
*{padding:0px;margin:0px;font-size: 14px;}
#maddd{ color: green;position: fixed;
background: #babcc1;
width: 90%;
z-index: 999;
bottom: 5%;
left: 5%;
/* text-align: center; */
border-radius: 12px;padding:12px 0;}
#maddd p{padding:0 12px;}.red{color:red;}
.sssfff{ font-weight: bold;
color: #444;}
body #maddd .ssjppp{border-bottom: 1px solid #b1b1b1;
margin: 0 12px;
padding: 0px;
margin-bottom: 6px;
padding-bottom: 6px;}
#paiminnn{height: 120px; overflow-y: scroll;
overflow-x: hidden;margin-right: 5%;}
#paiminnn::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0);
background-color: #babcc1;
}
#paiminnn::-webkit-scrollbar
{
width:1px;
background-color: #444;
}
#paiminnn::-webkit-scrollbar-thumb
{
background-color: #444;
}
.f12{font-size: 12px;}
.w40{ width: 40px;
display: inline-block;}
.w100{width: 170px;
display: inline-block;}
.frr{ float: right;}
.ccddd4{color:#444;}
body #maddd .sss88{color: #969696;
text-align: center;
font-size: 12px;
border-bottom: none;
margin-top: 12px;}
.c3{color:#333;}
#ttoop{position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 60px;
color: #444;
font-size: 15px;
/*font-weight: bolder;*/
background: #fff url(/Uploads/Picture/2017-06-16/5943571af1849.jpg);
background-repeat: no-repeat;
background-size: contain;
text-align: right;
line-height: 60px;}
.ddiddd{ font-size: 12px;
color: #7b7b7b;
font-weight: normal;}
</style>
</head>
<body>
<table id="container">
<tbody>
<tr>
<td class="container" colspan="2">
<div id="shake">
<img src="/yaoyiyao/images/inner.png" class="inner">
<img src="/yaoyiyao/images/shake.png" class="shake_up" id="shakeup">
<img src="/yaoyiyao/images/shake.png" class="shake_down" id="shakedown">
</div>
<div id="loading" class="loading"></div>
</td>
</tr>
<!--<tr id="controlbar">
<td class="controlbar" onclick="javascript:shake();">
<img src="/yaoyiyao/images/sdy.png" width="40" height="53"><br>手动摇
</td>
</tr>-->
<tr id="cantshake" style="display:none"><td class="controlbar" colspan="2">对不起,您的手机无法支持摇一摇!</td></tr>
</tbody>
</table>
<div id="maddd">
<p style="font-weight:bolder;"><span style="color:#c7348c;">{$nickname}</span> <span class="ddiddd">(ID:{$nummsss})</span></p>
<p>累计摇一摇<span class="red">{$nummm}</span>次 <span class="frr">当前排名<span class="red">{$sssnumber}</span></span></p>
<p style="margin: 12px;height:1px;background: #444;"></p>
<div id="paiminnn">
<?php
foreach($sssall as $k=>$v){
$k++;
echo '<p class="ssjppp"><span class="sssfff w40">'.$k.'</span> <span class="w100 c3">'.$v['user'].'</span> <span class="f12 frr ccddd4"><span class="f12">'.$v['numm'].'</span>次</span></p>';
}
?>
<p class="ssjppp sss88">没有了</p>
</div>
</div>
<div id="ttoop">
<img src="/yaoyiyao/gift_box_64px_503984_easyicon.net.png" height="50%" style="vertical-align: middle;" />摇大奖
</div>
<script>
function puttt(n){
//console.log(n);
var yaoyiyao_id='{$yaoyiyao_id}';
if(!n || !yaoyiyao_id) return false;
$.ajax( {
url:"/index.php?s=/addon/WeiSite/WeiSite/yaoyiyaoiner.html",
type: "POST",
data:"yaoyiyao_id="+yaoyiyao_id+"&nnumm="+n,
//dataType: "json",
//cache: false,
//async: false,
beforeSend: function(){
// Handle the beforeSend event
},
success: function(data){
$('#maddd').html(data);
}
});
}
</script>
</body>
</html>
Run code
Cut to clipboard
文章:微信摇一摇统计次数微官网 发表时间:2017-07-07, 12:04:44
#1216
作者:广西南宁市
丈夫为了赎回妻子,不得己去日本打工。日本老板叮嘱他,盘子一定要洗七遍。他有一天因为疲劳,心想少洗几遍也看不出来,就只洗了六遍。结果老板把他毫不留情地开除了,送他的临别赠言是:在我们日本,诚信是第一位的,哪怕别人看不出来,你也要做。
在日本虽然丢了工作,但他却看见迪迦奥特曼在打怪兽的时候不小心说出了自己的QQ号,他怕晚了就加不上了,于是匆忙回国。
丈夫回国便接到一通号码未显示的来电,电话话筒里射出一根毒针,让他当场昏迷。他醒过来,发现自己躺在装满冰块的浴缸里,冰水下一片血红。他一摸发现自己的肾被割了。
丈夫想报警,但起不来,浴室也没电话。就在这千钧一发之际,他想起浴室的下水系统是德国人造的。果然,在浴缸下,他发现了三层油纸包着的手机,还能打。
丈夫打开手机一看,发现手机即将没电。他急忙输入#2861解锁了暗藏的10%应急电量。
手机里存有一个号码,丈夫抱着孤注一掷的心拨了过去,是美国总统奥巴马亲自接听的。他说:“小伙子你知道吗,我们美国护照上写看‘祖国永远是你的后盾’。我们是自由民主的国家,会为每一个生命停下脚步。我这就开空军一号去救你。”
丈夫一边听电话,一边又在浴缸下摸索出一个充电宝,于是在没挂断电话的情况下直接插上充电宝。突然,手机因为一边充电一边打电话爆炸了。
丈夫没办法,只能不等总统了,自己先去医院治疗。于是他自己用502止血,然后下楼打车去医院。没想到出租车司机只收新版龙图腾人民币。丈夫无奈徒步走到了医院。
到了医院,无德医生说不先给钱不救,没有现金去找提款机。
丈夫好不容易找到了一个提款机,正在取钱,后面的歹徒把刀架在了他的脖子上。丈夫突然想起反输密码能救命的事,把自己的银行卡密码反着输入进去,及时通知了警察,擒拿了歹徒。
这时,奥巴马驾着空军一号赶到了。奥巴马解释说很抱歉自己来晚了,因为在路上他发现一只麻雀落在了电线上,情况十分危急。他不得不通知美国政府果断停掉整个城市的电,然后开飞机救下麻雀,所以耽误了时间。
奥巴马带来了失传的气功大师。气功大师通过拍打疗法,让丈夫当场就长回了肾。
奥巴马也说,他让FBI特工去调查丈夫的妻子,现在也成功把她救出来了。为了治好她,特工们给她吃肯德基的转基因鸡肉,就是一只鸡有六个翅膀八条腿的那种。妻子吃完就长出了四肢和舌头。
丈夫终于和妻子团聚,两人决定庆祝庆祝,就去酒吧喝酒。妻子坐在酒吧的椅子上,被坐垫下有不明血迹的针头扎了一下。后来去医院一查,她得了艾滋病,年纪轻轻就离世了。
悲痛欲绝的丈夫埋葬了妻子,决定报复社会。他利用翻墙工具恶意做空A股,被公安机关擒获。
在监狱里,他把自己的悲惨遭遇写在纸上,夹进他织的毛衣里。毛衣被销往国外,一时没有音讯。
出狱后的丈夫独自去吃饭,点了一条鱼,吃鱼的时候吃到硬物,吐出来一看,是当年送给妻子的钻戒,他们夫妻俩当初去泰国旅游的时候不知怎么弄丢了,没想到现在它又回来了。丈夫不禁泪流满面,来到海边,把水洼里的小鱼一条一条捡起来丢回海里。
从此,他发誓要做一个对社会、对世界有用的人,终于有所成。他的名字叫蒋中正。
后来,哪怕在经济疲软、民生凋敝、政局动荡的时刻,他依然不放弃每一寸领土。他指挥了中国海军最辉煌的一次胜利一一震惊世界的931大海战。四十多年过去了,这段历史却被无情地尘封。
而他在监狱里织的毛衣被销往美国,最终被一个美国人买到了。美国人拿到了纸条,终于在四十年后的今夭,把故事拍成短片放到Youtube上。中国人看到后,纷纷翻墙点赞。这个视频也成了世界上点击率最高的视频。
但是,一夜之间此视频在各大网站纷纷被封杀,疑似不明势力重金买下微博头条,让此事石沉大海。
虽然他从此逢人便说:“我是国民党大总统,现在有十亿资产被冻结,只要你给我的卡里打5000块钱就能解冻,我分你五百万!我有军队,事成之后给你一个师长!我们一起反攻大陆!”但是没人听他的。
从此他的故事再也无人知晓!看到这里,动一动你的手指,花3kb为他转一下好吗?多一个人看到,生活在水深火热中的台湾同胞就早一天解放!把它转发到五个群,你的QQ就会自动升一个太阳,还有100QB!我刚刚试过了,是真的!
因为,今天刚好是马化腾的生日。
文章:js 删除前confirm确认提示代码 发表时间:2017-07-05, 11:58:39
医生长出一口气:“这位患者那天工资被新人超过,一着急脑溢血晕过去了,看来总算在梦里想通了啊”
法国七年战争惨败。独立战争拼命援助美国怼英国,最后打赢了,却没占到什么实际便宜,最后国内怨声载道,还爆发了法国大革命。也算是华盛顿的贡献了。