div自动弹出 无按钮点击 js函数自动执行

我在一个自动执行的js函数里边加一个判断,functionload(){r=1;//测试数据if(r==1){openDiv("updateBox");//updateB... 我在一个自动执行的js函数里边加一个判断,
function load(){

r=1; //测试数据
if(r==1){ openDiv("updateBox"); //updateBox为我要打开的那个div 的 id
}
} 这个函数是自动执行的!

function openDiv(obj){ //开启DIV
document.getElementById(obj).style.display="block";}

在网页上运行时发现 chrom的问题【Uncaught TypeError: Cannot read property 'style' of null 】,在网上找了 说是 obj的对象为空。但是我用onclick 调用的时候 是可以正常使用的。 懂的人求解惑 或者 可以给我一个代码是自动弹出更新提示的代码 不胜感激!!!(。。。 又没分了)
展开
 我来答
千锋教育
2015-11-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

Uncaught TypeError: Cannot read property 'style' of null这个提示是js在操作html对象时,由于DOM tree没有加载完成,找不到这个对象。

解决的方法:

  1. 可以使用jquery更方便的解决这个问题,$(function(){}) 和$(document).ready(function(){})这两种写法一种是简写,效果相同都是在dom tree加载完成后执行。

  2. 使用window.onload这个方法,但是这个有缺陷,这个方法是在页面所有的对象都加载完成后执行,如果页面有些图片对象过大的话加载时间会很长,在打开也面时等待时间过长让人觉得js失效了。

javaallstar
2014-10-24 · TA获得超过533个赞
知道小有建树答主
回答量:154
采纳率:100%
帮助的人:191万
展开全部

请你确保在调用openDiv的时候,那个元素 “updateBox” 存在

有两种做法可以确保:

  1. 在document.unload里面调用这个部分代码。

  2. 把要执行的js放在html后面。



推荐第一种。

更多追问追答
追问
不好意思啊  我不是很懂 document.onload里边调用哪一个部分的代码?是load这个函数么? 还有 会不会跟div的位置 fixed relative 有关系?
追答
你在document.onload里面调用你自己写的load函数。这样写不一定一定能让你的代码没有bug但是应该可以解决【Uncaught TypeError: Cannot read property 'style' of null 】
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式