您的位置:首页 > 移动开发 > Android开发

BUG笔记:Android原生浏览器不认负百分数margin致Foundation Orbit往右滑动动画出错

2014-02-14 10:53 429 查看
一看这标题就知道无比蛋疼了是不?至少我从来不用安卓自带的浏览器。。。
发现这个bug的场景:万恶的Foundation,它的滚动图片插件Orbit在安卓自带浏览器下手指从左往右滑动时动画仍旧表现为从右往左滑动。只有在安卓自带浏览器下会发生哦!

罪魁祸首是foundation写这个插件时候用jQuery的css动画从'marginLeft':'-100%'到'marginLeft':'0%'来实现从图片从左往右滑动进来。而这个傻浏览器并不认负的百分数,不过能认负的数值。

同时要注意的是,两个百分数要同时改成数值才有效,也就是说-100px到0%的动画也会出错。但100%到0的动画没问题。

以下是修改的代码截取片段:

var SlideAnimation = function (settings, container) {
var duration = settings.animation_speed;
var is_rtl = ($('html[dir=rtl]').length === 1);
var margin = is_rtl ? 'marginRight' : 'marginLeft';
var animMargin = {};
//修改前:animMargin[margin] = '0%';
animMargin[margin] = '0';

this.next = function (current, next, callback) {
next.animate(animMargin, duration, 'linear', function () {
current.css(margin, '100%');
callback();
});
};

this.prev = function (current, prev, callback) {
//修改前: prev.css(margin, '-100%');
prev.css(margin, -prev.width());
prev.animate(animMargin, duration, 'linear', function () {
current.css(margin, '100%');
callback();
});
};
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息