js控制div的top和left

JavaScript012

js控制div的top和left,第1张

你先说明白了,这些div都是什么定位(肯定不能是static定位)?宽度高度是否都一样?

换行倒是容易,只需:

var divs = [ ... ]// 100个

var left=0, top = 0

var i

for (i=0i<divs.length++i) {

// 把divs[i]放到(left, top)处

left += divs[i].offsetWidth// 假定没有外边距,这是下一个div的left

if (0 == (i + 1) % 10) {

left = 0// left复位的最左边

top += ?// 换到下一行

}

}

这里的“?”,由你来决定,如果这些div的高度都一样,那么任取其中一个的offsetHeight就可以了,否则你必须搜索并选取这一行offsetHeight最大的那个。

JQ动画:5秒内top匀速增加50px,left匀速增加20px

$(craneUp).animate({top:'+=50px', left:'+=20px'}, 5000)

也可以去了解下css3的动画

JS里添加样式的方法:

1、首先,要创建标签,使用document.createElement函数,如图创建div标签。使用其className设置class,id设置id,style设置样式。

2、样式的设置也可以分项进行。如图是分项设置其left,top,display,position,width几个样式。

3、通过设置标签的innerHTML属性可以直接给其添加子标签以及子标签的样式。当然,也可以分项分层添加标签。

4、设置好标签(如图是div标签,变量名box),使用document.body.appendChild添加标签到body当中。

5、标签添加以后,依然可以修改样式,如图是使用document.getElementById方法根据id获取标签,修改style。

6、标签添加以后,也可以给其添加和删除event处理。如图是使用jQuery给id为img-preview-box的标签添加hover鼠标经过的处理。