简单的身体加载功能不会触发我的功能
Simple Body onload function not triggering my function
我有这个javascript函数要用body onload函数触发,但我无法让它工作。我在这里做错了什么?下面是我的小提琴和代码:
HTML:
<body onload="loading()">
<div id="container">
</div>
</body>
JS:
function loading(){
document.getElementById('container').css("background-image", "none");
}
也尝试过
function loading(){
document.getElementById('container').cssText = "background-image: none";
}
CSS:
body{
background: #000;
}
#container {
width: 600px;
height: 500px;
margin:0 auto;
background-image: url("http://lamininbeauty.co.za/images/gallery/loading.png");
background-repeat: no-repeat;
background-position: 50% 50%;
}
尝试:
function loading(){
document.getElementById('container').style.backgroundImage= "none";
}
您混淆了原生javascript和jQuery,原生DOM元素上没有css
方法:
function loading(){
document.getElementById('container').style.backgroundImage = "none";
}
getElementById
返回一个没有方法.css()
的html元素。它的jQuery有这个方法,而且你的函数处于onload中,所以它被封装在一个函数中,你希望它不被封装。
http://jsfiddle.net/3pDsJ/35/
function loading(){
document.getElementById('container').style.backgroundImage = "none";
}
确保您的js已加载到页面的部分中。
或者,您只能添加
$(function() {
$('#container').css("background-image", "none");
}
在你的js中,并从主体中删除加载
我假设您使用的是jquery,否则上面的解决方案就是
问题是jsfiddle被设置为运行您定义的javascript onLoad
,所以我怀疑它在定义loading()
方法之前遇到了您的onload=
属性。如果你打开一个控制台,你会看到一个错误"Uncaught ReferenceError:loading is not defined"(或类似的错误)。
你可以将其更改为"无包裹(头部)",它应该可以正常工作。尽管如前所述,您需要将css
方法更改为实际工作的方法。
我想说一个更简单的解决方案是只使用jquery。使用元素的onload处理程序已不再是一种好的做法(我认为它们现在实际上已经被弃用了?)。最好的解决方案是一个名为"不引人注目的javascript"的解决方案,您执行的任何js都不需要来自html代码的额外javascript或方法调用。我修改了小提琴来举一个例子:
http://jsfiddle.net/3pDsJ/38/
我还没有看到的答案是,您的脚本标记必须在您的body标记中。这是因为脚本标记必须在正文加载之前加载,否则您将收到一个错误,说明未定义加载函数。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="YourCSS.css" />
</head>
<body onload="loading()">
<div id="container">
</div>
<script type="text/javascript">
function loading(){
$("#container").attr("style", "background-image: none;");
};
</script>
</body>
</html>
- 对于如何在没有modernizr的情况下用边界半径的功能检测检查来替换我的旧浏览器检查
- 为什么获胜'我的自定义功能工作
- 为什么我的流星每个功能都不起作用
- 点击功能无法处理我的所有文件
- 为什么不是'我的修剪功能不起作用
- 简单的身体加载功能不会触发我的功能
- 我的鼠标向下功能不是从最近的点画线,而是从左上角画线
- JQuery破坏了我的功能吗
- 如何使我的功能360度旋转并上下移动
- 如何将这些代码和我的想法转换为功能思维(Clojure)
- 当我的响应菜单打开时,我如何删除用户转到侧面的功能
- 为什么在使用箭头键时,打开更改功能不适用于我的范围滑块
- 我的数字检查器功能不起作用,为什么
- JQuery动画完整功能:如何恢复我的"老这个”;
- 选项卡分组和选项卡着色:如何将此功能应用于从我的网页打开的选项卡,而不考虑浏览器
- 在我的项目中,添加、删除和编辑功能不起作用
- 用于导出Excel的.Net MVC 4.5 JqGrid按钮功能不起作用.什么'我的代码错了
- 如何让我的html5功能不兼容警告使用javascript工作
- 为什么我的保存时间功能不起作用?PHP + AJAX JS.
- Javascript切换功能我的版本