【问题标题】:jQuery - .css('transform') returning different values in Internet Explorer than Chrome/FirefoxjQuery - .css('transform') 在 Internet Explorer 中返回与 Chrome/Firefox 不同的值
【发布时间】:2017-05-04 16:05:23
【问题描述】:

作为背景知识,我使用 Greensock 的 Draggable 在 y 轴上通过 transform:translate3d 属性移动对象。

但是,当我使用 .css('transform') 调用移动对象的返回值时,IE 中返回的值与 Chrome/Firefox 返回的值不同。

例如,Chrome/Firefox 返回matrix(1, 0, 0, 1, 0, 5),而 IE 返回matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 5, 0, 1)

我需要解析并获取不断变化的 y 值,即 Chrome/Firefox 中的位置 [5] 和 IE 中的位置 [13]。如果没有实现一些浏览器嗅探,这显然是一个问题。

有没有办法让我标准化返回的属性值(到矩阵或 matrix3d),或者以不同的方式单独获取 y 值?

编辑:不知道为什么我的问题得到了负面评价;如果我没有提供足够的信息,请告诉我。

【问题讨论】:

    标签: javascript jquery css matrix gsap


    【解决方案1】:

    如果其他人遇到此问题并且正在使用 Greensock (GSAP),我在 Greensock forums 上获得了以下答案:

    如果您想计算 Draggable 的 y 位置 目标,你知道 Draggable 实例有一个“y”属性 好?所以你可以利用它。

    例子:

    Draggable.create("#id", {
        onDrag:function() {
            console.log(this.y);
        }
    });
    

    另一个答案表明,不同的值可能是 jQuery 的 .css('transform') 中的错误导致的。

    无论如何,这解决了我的问题。

    【讨论】:

      【解决方案2】:

      从微软那里找到这个,https://msdn.microsoft.com/en-us/library/jj200269(v=vs.85).aspx

      所有其他变换函数都基于matrix3d函数。

      您可以提取所需的值。看起来这是唯一的选择。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-04
        • 1970-01-01
        • 1970-01-01
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 2017-07-21
        • 1970-01-01
        相关资源
        最近更新 更多