不知道为什么会发生这种情况,谷歌只是提出与AJAX有关的事情。该脚本随机将图像放在窗口边界内。当我加载页面时,图像是随机放置的,但不在窗口边界内,当我刷新它们的页面时...任何人都有任何想法?
这是我的代码:
$(document).ready(function() {
// Randomly place CMYK images on contact page
function randomFromTo(from, to){
return Math.floor(Math.random() * (to - from + 1) + from);
}
function moveRandom(obj) {
// Get window data
var wPos = $('body').offset();
var wWidth = $('body').width();
var wHeight = $('body').height();
// Get moveable element size
var eWidth = obj.width();
var eHeight = obj.height();
// Maximum and minimum positions
var maxX = wPos.left + wWidth - eWidth;
var maxY = wPos.top + wHeight - eHeight;
var minX = wPos.left;
var minY = wPos.top;
// Set new position
var newX = randomFromTo(minX, maxX);
var newY = randomFromTo(minY, maxY);
obj.css({
'position' : 'absolute',
'z-index' : '0',
'left' : newX,
'top' : newY
});
}
$('.selfie img').each(function() {
moveRandom($(this));
});
});
答案 0 :(得分:4)
我的猜测是你正在检查文件就绪的图像宽度和高度,这并不能保证图像已经加载。在第一次加载后,它们被缓存,所以你很幸运,他们已经准备好了。
尝试将$(document).ready
更改为$(window).load
,以确保加载图片。