一个可以手写原型链的男人

$("body").animate({"scrollTop":top})兼容问题

《$(

第一部分

需求:点击立即参与,有抽奖机会,让页面滚动到抽奖区域,没抽奖机会调起支付。

实现方法:

$("#act_body_wapper").on("click",".ipgBtn",function(){
    if (!haslogin()) {
        login();
        return false;
    }
    if (lottery.data.lotterytimes==0) {//没抽奖机会的时候调起支付
        pay(window.ACTCONFIG.payid);
    }else{
        var top = $(".lottery_wp").offset().top;
        $("html,body").animate({scrollTop:top},400);
    }
});

实现这个功能的核心语句$(“.selector”).animate({scrollTop:top},400);是有兼容性问题的,
$(“body”).animate({“scrollTop”:top})只被chrome支持,而不被Firefox支持。
$(“html”).animate({“scrollTop”:top})只被Firefox支持,而不被chrome支持。
如果想让这段js被chrome和Firefox都支持的话,应该这样:
$(“html,body”).animate({“scrollTop”:top})

第二部分

今天写wap端页面,同样有定位到抽奖区域的功能,好的把pc端拷贝过来,功能完成心里美滋滋。
问题:定位始终定位不到抽奖区域,差的还挺多,最后多亏丁周裕同学帮定位问题,发现是由于页面zoom引起的,页面zoom以后计算的$(“.cont2”).offset().top这个值是zoom之前的值,所以没zoom的iPhone5模式下定位是准确的。
解决方案:$(“.cont2”).offset().top*$(“.wrap”).css(“zoom”);

《$( 《$(

应该定位到02这个位置,

点赞

发表评论