Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> BUG筆記:Android原生浏覽器不認負百分數margin致Foundation Orbit往右滑動動畫出錯

BUG筆記:Android原生浏覽器不認負百分數margin致Foundation Orbit往右滑動動畫出錯

編輯:關於Android編程

一看這標題就知道無比蛋疼了是不?至少我從來不用安卓自帶的浏覽器。。。

發現這個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();
            });
        };
    };

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved