我在使用js设置css位置时遇到的问题,求解决!

/** * 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函数时,就可以了

想了很长时间,还是没想出所以然,如果有人接触过这个问题,不妨分享出你得解决方法。谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,299评论 0 5
  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 958评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,788评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,327评论 0 11
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,787评论 1 92