html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案

html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案

大家都知道需要在点击时候后 播放
ps:如果点击ajax 回来播放也不行,必须点击立即播放

要背景自动播放只能采取下面方案

    wx.ready(function () {
 $('#music1')[0].play();
   })

要延迟播放 那就延迟 wx.ready函数的运行 不能在wx.ready里面延迟播放

mysql explain亲测

mysql explain亲测

1 where后面字段加索引:数据库类型如果是字符串类型 查询where的时候必须要用 字符串 类型必须一致 否则不用索引 type还是会是all的 ps:如果where有2个字段匹配 那就要2个字段加上索引 这里有必要说明下 btree索引支持匹配索引第一列 也就是说 info1和info2加了复合索引也同时给info1加了索引

2 left join 索引优化的时候 只需要右表字段加索引 还有where后字段加索引 ps左表尽可能的小 因为他不用索引的。。。 适当的时候where左表字段筛选

3 应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。
应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0
应尽量避免在 where 子句中使用or 来连接条件, 一般用in来代替or 或者 select * from mobantestinfo where info2=33 union all select * from mobantestinfo where info2=36
.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:select id from t where num/2=100应改为:select id from t where num=100*2

4能用唯一索引尽量用唯一索引
5 goupby语句 只需要gourp by后面的字段要加索引 不过type也只能达到index级别

如果是下面语句 没有where什么 其他函数

SELECT *  FROM `mobantestinfo`  GROUP BY info2 

ps:加复合索引 每个字段 type会达到range 注意info2要排第一个才有效果

6 加了索引会降低insert和update速度 所以不要滥用

7搜索url这种可以考虑使用哈希索引 不过需要memory引擎

8给order by加索引能增加排序速度 一般表非常大的时候使用 ps:给order by加索引的时候 前面where字段也要加 不然没效果

9 union all比union 性能好

10避免重复查询刚刚更新的数据 mysql语句如下 第二次不需要查询表 速度会快很多

update mobantestinfo set info1=333 where id=33 AND @now:=333 AND @now1:=444;
select @now as xx,@now1 as xx1;

11 尽量用in代替or 因为or不用索引 in能用索引

PHP微信发红包简明教程

PHP微信发红包简明教程
1首先进入公众号申请微信支付 申请成功账号密码会发到你指定的邮箱 是登陆商户平台的
2 进入后申请发红包借口
3 调用发红包接口 https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack 参数写对 证书也是在你邮箱里(如果邮箱找不到了 可以去商户平台api菜单里下载证书) 请求成功就OK啦

ps:进入微信支付网站建议用360浏览器开启兼容模式

javascript碰撞检测的方法

javascript碰撞检测的方法
需要把要检测碰撞的精灵都放到数组里array push 然后循环遍历数组里的精灵检测碰撞 ps:不放到数组里没办法循环遍历检测每个精灵
核心代码如下

//0.1秒刷新检测碰撞
   update: function (dt) {
    //循环遍历每个精灵
        for (x in jinglinglist)
        {
            var ispengzhuang = cc.rectIntersectsRect(this.zhuaqi03sprite.getBoundingBox(), jinglinglist[x].getBoundingBox());
            if (ispengzhuang) {
                jinglinglist[x].removeFromParent();
            
            }

        }


    },

javascript判断变量是否为空的方法

javascript判断字符串变量是否为空的方法
代码如下


    if (typeof(ndesc)=="undefined" || ndesc=='' || ndesc==null)
    {
        ndesc="1111!";
    }

ps:ndesc 变量没有初始化 typeof(ndesc) 都是undefined

判断数字是否为空

var startv = parseInt($(‘#myTargetElement’).text());
if (isNaN(startv)) {
startv = 0;
}

CSS3做动物走路效果

CSS3做动物走路效果

采用的CSS3切换序列帧做

核心代码如下

.game .role {
    width: 60px;
    height: 86px;
    position: absolute;
    top: -83px;
    background-image: url(../images/role5.png);
    background-repeat: no-repeat
}

.roleRunAm {
    -webkit-animation-name: roleRunAm;
    -webkit-animation-duration: 0.9s;
    -webkit-animation-timing-function: steps(6);
    -webkit-animation-iteration-count: infinite;
    animation-name: roleRunAm;
    animation-duration: 0.9s;
    animation-timing-function: steps(6);
    animation-iteration-count: infinite
}

@-webkit-keyframes roleRunAm {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -365px 0
    }
}

@keyframes roleRunAm {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -365px 0
    }
}

365px就是序列帧图片的宽度
序列帧图(

../images/role5.png

role5

 

播放动画直接addclass roleRunAm 停止就removeclass 这个可以结合位移做 而且不会卡出现闪烁的现象 如果用其他setTimeout 递归切换图片肯定卡

但是此方法不能用自适应