/** * Created by Administrator on 2016/6/7 0007. */
function positionMessage() {
if (!document.getElementById)return false;
if (!document.getElementById('message'))return false;
var elem = document.getElementById('message');
elem.style.position = 'absolute';
elem.style.left = '50px';
elem.style.top = '100px';}
function moveMessage() {
if (!document.getElementById) return false;
if (!document.getElementById('message')) return false;
var elem = document.getElementById('message');
elem.style.position = 'absolute';
elem.style.right = '500px';
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func; }else {
oldonload();
func();
}
}
addLoadEvent(positionMessage);
addLoadEvent(moveMessage);
如以上代码所示,我先设置了一个positionMeeage函数,获取的id为message的p标签,之后设置p标签为绝对定位absolute,离左边50px,离顶部100px。
再之后同上设置了一个moveMassge函数,没有绝对定位,设置离右边500px。
最后我定义了一个addLoadEvent函数,加载这以上两个函数。
但是问题来了,没设置绝对定位的movemessage函数,没有起作用。p便签的值还是第一个函数所设置的。
当我把代码改成
addLoadEvent(moveMessage);
addLoadEvent(positionMessage);
先加载movemessage函数再加载positionmessage函数时,就可以了
想了很长时间,还是没想出所以然,如果有人接触过这个问题,不妨分享出你得解决方法。谢谢!