解决方案 »
- 自动填写表单 求思路
- 一个关于javascript加载的问题
- js如何获得flash中的url(急用!在线等待。。。。)
- 用document.write()的方式弹出对话框时,怎样控制弹出对话框的位置
- 全选是实现了,那全部取消怎么实现呢?
- 屏蔽键盘键
- setTimeout的函数如何带参数
- 这是别人写的树状checkbox,我不知道我想要的效果如何实现-----急急急
- 能不能實現直接拖動這個層<div><iframe src=”http://#” width=200 height=200 frameborder=0></iframe></div>?
- 用JAVASCRIPT如何实现打印预览,打印放大和缩小预览那??就象很多其他打印控件一样的那种!
- js时钟无法实现,求解答
- 自动关闭确认框
if(document.getElementById('mycars[i]').style.display = "")//这里应该是判断语句,而你使用的是赋值语句
{
}
else{
document.getElementById('mycars[i]').style.display = "none";//display本身就是none了,你这句话又有什么用呢
}
另外document.getElementById('mycars[i]')这里面的单引号可以去掉
for (i=0;i<=mycars.length;i++)
{
if(document.getElementById('mycars[i]').style.display = "")//这句会报对象为null
{
}
else{
document.getElementById('mycars[i]').style.display = "none";//同上,获取不到html对象
}
}页面加载从上到下,这儿写在全局的js会在html元素加载前执行,这时没有生成dom对象,所以获取到的对象是null,
这样改:setTimeout(function(){
for (i=0;i<=mycars.length;i++)
{
if(document.getElementById('mycars[i]').style.display =="")
{
}
else{
document.getElementById('mycars[i]').style.display = "none";
}}},100});
用延时执行的方式避免这个错误
for (i=0;i<=mycars.length;i++)
{
if(document.getElementById(mycars[i]).style.display =="")
{
}
else{
document.getElementById(mycars[i]).style.display = "none";
}}},100});
<html>
<style>
body{background:url('会议室图片/mainbk.jpg') no-repeat center; background-color:#000000}
#test,#test2,#test3{
width:170px;
height:158px;
float:left;
}
#test{background-image:url(会议室图片/hyms.jpg);}
#test2{background-image:url(会议室图片/tyms.jpg);margin-left:50px}
#test3{background-image:url(会议室图片/wrms.jpg);margin-left:60px}
</style>
<script>
function changeImg_over(value){
var div = document.getElementById("test");
var div2 = document.getElementById("test2");
var div3 = document.getElementById("test3");
if(value=="a"){
div.style.backgroundImage = "url(会议室图片/hyms_on.jpg)";
}
else if(value=="b"){
div2.style.backgroundImage = "url(会议室图片/tyms_on.jpg)";
}
else {
div3.style.backgroundImage = "url(会议室图片/wrms_on.jpg)";
}
}
function changeImg_out(value){
var div = document.getElementById("test");
var div2 = document.getElementById("test2");
var div3 = document.getElementById("test3");
if(value=="a"){
div.style.backgroundImage = "url(会议室图片/hyms.jpg)";
}
else if(value=="b"){
div2.style.backgroundImage = "url(会议室图片/tyms.jpg)";
}
else{
div3.style.backgroundImage = "url(会议室图片/wrms.jpg)";
}
}
</script>
<body>
<div style="margin-left:350px; margin-top:200px">
<div id="test" onmouseover="changeImg_over('a')" onmouseout="changeImg_out('a')"></div>
<div id="test2" onMouseOver="changeImg_over('b')" onmouseout="changeImg_out('b')"></div>
<div id="test3" onMouseOver="changeImg_over('c')" onmouseout="changeImg_out('c')"></div>
</div>
</body>
</html>比你那个看起来舒服吧
setTimeout(function(){
for (i=0;i<=mycars.length-1;i++)//这儿差点看掉了,晕,用<=数组的长度就索引超出了
{
if(document.getElementById(mycars[i]).style.display =="")//这儿要用比较符号==,同时去掉单引号
{
}
else{
document.getElementById(mycars[i]).style.display = "none";
} }
},100);不仔细点这段代码都改不对,...
{
}
else{
document.getElementById(mycars[i]).style.display = "none";
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
//id:要显示的对象id
function changeBody(id){
var mycars=["iDBody1","iDBody2","iDBody3"];
for(var i=0,len=mycars.length;i<len;i++){
var _id=mycars[i],obj=document.getElementById(_id);
if(id==_id) obj.style.display=""; //如果等于指定的id,则显示对象
else obj.style.display="none"; //其他的隐藏
}
}
</script>
</head>
<body>
<a href="#" onmousemove="changeBody('iDBody1')">模块A</a>
<a href="#" onmousemove="changeBody('iDBody2')">模块B</a>
<a href="#" onmousemove="changeBody('iDBody3')">模块C</a><ul style="list-style: none;"><li style="display: none;float: left;" id="iDBody1">
模块(一)的相关内容
</li><li style="display: none; float: left;" id="iDBody2">
<a href="#">模块(二)的相关内容</a>
<ul style="list-style: none;">
<li style="float: left"><a href="#">dsfldsfdsflk </a> </li>
<li style="float: left"><a href="#">dsfdsfdssd </a></li>
</ul>
</li><li style="display: none;float: left;" id="iDBody3">
模块(三)的相关内容
</li></ul>
</body>
</html>
{
}
就是不管你的DIV是显示还是隐藏、都会进入你的else方法啊...
var mycars = new Array()
mycars[0] = "iDBody1"
mycars[1] = "iDBody2"
mycars[2] = "iDBody3"
for (i = 0; i < mycars.length; i++) {
if (document.getElementById(mycars[i]).style.display == "") {
}
else {
document.getElementById(mycars[i]).style.display = "none";
} }
}