1

如何将此代码从“每个”重写为“为”:

myDiv.scroll(function () { 
    $nower = (($(this).scrollTop() + $start_pr) / $skorost) + $ugol * 8;
    $.each(ImgDiv, function(index) {
        $(this).offset({ top: Math.cos((index + 1) * $ugol + $nower) * $size_dug + $smes_y, left: Math.sin(-((index + 1) * $ugol + $nower)) * $size_dug + $smes_x });
    });
});

我正在尝试,但它不起作用:=(

myDiv.scroll(function () {  
    var $nower = (($(this).scrollTop() + $start_pr) / $skorost) + $ugol * 8;
    for (var ink = 0, len = ImgDiv.length; ink < len; ink++) {
        ImgDiv[ink].offset({top: Math.cos((ink + 1) * $ugol + $nower) * $size_dug + $smes_y, left: Math.sin(-((ink + 1) * $ugol + $nower)) * $size_dug + $smes_x });
    };
});
4

1 回答 1

2

您可能正在尝试在对象而不是 jQuery 对象上调用jQuery函数偏移量。DOMDOM对象转换为jQuery对象,如下所示。

改变

ImgDiv[ink]

$(ImgDiv[ink])

你的代码是

myDiv.scroll(function () {  
        var $nower=(($(this).scrollTop()+$start_pr)/$skorost)+$ugol*8;
        for (var ink=0, len = ImgDiv.length; ink < len; ink++)
        {
        $(ImgDiv[ink]).offset({top: Math.cos((ink+1)*$ugol+$nower)*$size_dug+$smes_y, left: Math.sin(-((ink+1)*$ugol+$nower))*$size_dug+$smes_x });
        };
    });
于 2013-02-14T09:40:49.770 回答