javascript判断碰撞检测

javascript判断碰撞检测

点与矩形的碰撞检测

 /**
     *
     * @param x1 点
     * @param y1 点
     * @param x2 矩形view x
     * @param y2 矩形view y
     * @param w  矩形view 宽
     * @param h  矩形view 高
     * @return
     */
    function isCollsion(x1,y1,x2,y2,w,h) {
        if (x1 >= x2 && x1 <= x2 + w && y1 >= y2 && y1 <= y2 + h) {
            console.log('碰撞');
            return true;
        }
        console.log('没碰撞');
        return false;
    }

矩形与矩形的碰撞检测

 /**
     * 检测两个矩形是否碰撞
     * @param x1  矩形1view x
     * @param y1  矩形1view y
     * @param w1  矩形1view 宽
     * @param h1  矩形1view 高
     * @param x2  矩形2view x
     * @param y2  矩形2view y
     * @param w2  矩形2view 宽
     * @param h2  矩形2view 高
     * @return
     */
        function isCollsionWithRect(x1,y1,w1,h1,x2,y2,w2,h2) {
        if (x1 >= x2 && x1 >= x2 + w2) {
            console.log('没碰撞');
            return false;
        } else if (x1 <= x2 && x1 + w1 <= x2) {
            console.log('没碰撞');
            return false;
        } else if (y1 >= y2 && y1 >= y2 + h2) {
            console.log('没碰撞');
            return false;
        } else if (y1 <= y2 && y1 + h1 <= y2) {
            console.log('没碰撞');
            return false;
        }
        console.log('碰撞');
        return true;
    }

javascript添加到收藏夹写法

javascript添加到收藏夹写法

function addFavorite2() {
    var url = window.location;
    var title = document.title;
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf("360se") > -1) {
        alert("由于360浏览器功能限制,请按 Ctrl+D 手动收藏!");
    }
    else if (ua.indexOf("msie 8") > -1) {
        window.external.AddToFavoritesBar(url, title); //IE8
    }
    else if (document.all) {
        try{
            window.external.addFavorite(url, title);
        }catch(e){
            alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
        }
    }
    else if (window.sidebar) {
        window.sidebar.addPanel(title, url, "");
    }
    else {
        alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
    }
}

javascript高德地图实现点击marker消失marker

javascript高德地图实现点击marker消失marker

    var markers = [];
                    var positions = [[120.17718, 30.21772], [120.17718, 30.21872]];
                    for (var i = 0, marker; i < positions.length; i++) {
                         marker = new AMap.Marker({
            map: map,
            icon: "http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png",
            position: positions[i],
            content: '<div class="marker-route marker-marker-bus-from zhongzimark" zhongziid=1><img class="markerimg" src="http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png" /><div class="markarea"></div></div>' //自定义点标记覆盖物内容
        });
        markers.push(marker);


                        markers.push(marker);



                    }
                    $.each(markers, function (k, v) {
                        markers[k].on('click', function () {
                              //获取html属性方法
                            var htmlc=markers[k].getContent();
                      htmlc=$(htmlc);
                            console.log($(htmlc).attr('zhongziid'))
                         if ( markers[k]) {
                             markers[k].setMap(null);
                             markers[k] = null;
                         }
                /*         var str2 = {"personid": <?php echo $personid ?>, "type": 1, "shuzhi": 10, "tag": 3};
                         str2 = JSON.stringify(str2);
                         ws.send(str2);*/

                         });

                    })
<style>
.zhongzimark {
    position: relative;
    width: 60px;
    height: auto;
    overflow: hidden;
}
.markerimg{
    width:15%;
}
.markarea{
  width:15%;
  height:auto;
  overflow:hidden;
  line-height: 1.3;
  text-align: center;
  color: #000;
  background: #FFF;
}
</style>

ps:原理就是 先循环遍历marker 显示并且添加到markers数组 然后循环遍历markers数组添加事件就好了 getContent可以获取到html 然后用jquery attr方法获取属性

javascript jssdk微信上传一张图片的方法

javascript jssdk微信上传一张图片的方法

   wx.chooseImage({
            count: 1, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            success: function (res) {
                localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
                $('.p7_pic1').attr('src',localIds);
                wx.uploadImage({
                    localId: localIds[0], // 需要上传的图片的本地ID,由chooseImage接口获得  
                    isShowProgressTips: 1, // 默认为1,显示进度提示
                    success: function (res) {

                        var serverId = res.serverId; // 返回图片的服务器端ID
                        alert(serverId);
                        $('#serverId').val(serverId);
                    }
                });
            }
        });

ps:此处注意要写下标哦 因为localIds返回的是数组(用微信开发者工具看返回wx.chooseImage返回的数据就知道啦) 不过不建议用 安卓上老卡主