我一直试图从一个数组中预定义的位置列表中随机化一个div的位置,但是没有成功,我想我可能会接近但我不知道我哪里出错了。
var positionArray = [];
function Position(left, top) {
this.left=left;
this.top=top;
}
function rand(ar){
return 0.5-Math.random();
}
var positionArray = [
new Position(0, 0)
, new Position(50, 50)
, new Position(100,100)
, new Position(150,150)
, new Position(200,200)
, new Position(250,250)
, new Position(300,300)
, new Position(350,350)
];
function init() {
var min = 0;
var max = 7;
var posIndex = Math.floor(Math.random() * (max - min + 1)) + min;
alert(posIndex)
$(".start-journey-marker").css({
top : positionArray[posIndex].top,
left : positionArray[posIndex].left
});
};
positionArray.sort(rand);
init();
请参阅此处的示例:http://jsfiddle.net/qQWYW/
你能帮忙吗?
答案 0 :(得分:1)
要使CSS top
和left
生效,您需要在元素中添加position : relative
或position : absolute
。 (编辑:或添加position : fixed
。)
此外,您的演示无效,因为您没有包含jQuery(左侧的框架面板)。
答案 1 :(得分:0)
这是造型问题。 只需添加
position: absolute;
到.start-journey-marker
选择器。
P.S。 因为你忘了包含jQuery,所以它不适用于小提琴。
答案 2 :(得分:0)
请将位置属性添加到您的css中的.start-journey-marker