我有一个javascript函数可以像旋转木马那样旋转一组图像,因此每个更新间隔为每个图像设置一个绝对位置。
这很好用。
单击图像时,它会显示在前面。这可能需要2-3秒,具体取决于图像的数量。
完成旋转之后,想要确定前图像的位置(css - 左侧和顶部属性值。
这里的问题是当我这样做时
$('.rotatableImage').click(function() {
$(this).parent().append("<div style='position: absolute; left: " + $(this).css('left') + "; top: " + $(this).css('top') + ";'>Text</div>");
});
在完成旋转之前,我点击了左边和上边的直接位置。
有没有办法解决这个问题而无需使用jquery或javascript进行修改?
我也尝试了一些SetTimeout但是它也会立即绑定点击并且我得到了错误的值。
答案 0 :(得分:0)
旋转代码在这里@john Smith item是var Item = function(img,opt)cotaint img object attributes
var style;
var px = 'px';
var context = this;
for (var i = 0; i<itemsLen ;i++)
{
item = items[i];
sinVal = funcSin(radians);
scale = ((sinVal+1) * smallRange) + minScale;
x = this.xCentre + (( (funcCos(radians) * this.xRadius) - (item.orgWidth*0.5)) * scale);
y = this.yCentre + (( (sinVal * this.yRadius) ) * scale);
if (item.imageOK)
{
var img = item.image;
w = img.width = item.orgWidth * scale;
h = img.height = item.orgHeight * scale;
img.style.left = x + px ;
img.style.top = y + px;
img.style.zIndex = "" + (scale *100)>>0;
}
radians += spacing;
}
this.innerWrapper.style.display = 'block';