Javascript 函数不返回响应,也不返回错误

Javascript 函数不返回响应,也不返回错误,javascript,css,Javascript,Css,您好,我正在使用这段代码根据鼠标的位置修改对象的位置 function layerCss(parallax, px, offset, size, position, pointer) { var pos = [], cssPosition, cssMargin, x = 2, css = {}; while (x--) { if (parallax[x]) { pos

您好,我正在使用这段代码根据鼠标的位置修改对象的位置

    function layerCss(parallax, px, offset, size, position, pointer) {
    var pos = [],
        cssPosition,
        cssMargin,
        x = 2,
        css = {};

    while (x--) {
        if (parallax[x]) {
            pos[x] = parallax[x] * pointer[x] + offset[x];

            // We're working in pixels
            if (px[x]) {
                cssPosition = position[x];
                cssMargin = pos[x] * -1;
            }
            // We're working by ratio
            else {
                cssPosition = pos[x] * 100 + '%';
                cssMargin = pos[x] * size[x] * -1;
            }

            // Fill in css object
            if (x === 0) {
                css.left = cssPosition;
                css.marginLeft = cssMargin;
            }
            else {
                css.top = cssPosition;
                css.marginTop = cssMargin;
            }
        }
    }

    return css;
}
现在我想尝试使用transform:translate(x,y)来修改对象的位置,而不是left,top

css。Position返回2个值,但函数不再工作

    function layerCss(parallax, px, offset, size, position, pointer) {
    var pos = [],
        cssPosition,
        cssMargin,
        x = 2,
        css = {};

    while (x--) {
        if (parallax[x]) {
            pos[x] = parallax[x] * pointer[x] + offset[x];

            // We're working in pixels
            if (px[x]) {
                cssPosition = position[x];
                cssMargin = pos[x] * -1;
            }
            // We're working by ratio
            else {
                cssPosition = pos[x] * 100;
                cssMargin = pos[x] * size[x] * -1;
            }

            // Fill in css object
            css.transform = 'translate(' + cssPosition[0] + 'px,' + cssPosition[1] + 'px)';


        }
    }

    return css;
}
两个小时后我一直在想办法,但似乎什么都没用。 希望你能帮助我


谢谢你的帮助

cssPosition=pos[x]*100
永远不会返回数组,但在构建转换规则时,您正在访问前两个索引

'translate(' + cssPosition[0] + 'px,' + cssPosition[1] + 'px)'
cssPosition=position[x]的情况似乎相同,但这个函数实际上可以工作,这取决于传递给函数的内容


将新的
cssPosition
设置为一个具有两个维度的数组,您的代码将正常工作。

i删除像素和比率部分,并添加cssPosition=pos[x];和警报(cssposposition);现在,只要我不移动鼠标,我就会收到两个不同数字的无限警报,但转换仍然不起作用,而且是
pos[x]
数组?当我尝试alert pos[x]时,我也会收到两个不同数字的无限警报,只要我不移动鼠标,这就是我一直在告诉你的。阅读我的答案,你需要把它变成一个数组。对不起,我对Javascript非常陌生。如何将其转换为数组,并在移动鼠标时仍会更新?