javascript初学,点击图片显示隐藏信息,求帮忙看一下我的代码的问题

想做的效果是点击图片,显示隐藏的信息,再点击一下图片,把信息隐藏起来,javascript的内容在独立的.js文件里,求帮忙看一下我的代码问题在哪里
.js文件里 的代码为
function HiddenInfoDisplay (divDisplay)
{
document.getElementByClassName("image").onclick=function (divDisplay)
{
if(document.getElementById(divDisplay).style.display !="block")
{
document.getElementById(divDisplay).style.display = "block";
}
else
{
document.getElementById(divDisplay).style.display = "none";
}
}
}
html里有<script type="text/javascript" src="./HiddenInfoDisplay.js"></script>,
<a><img src="./Bill.jpg" value="Staff 1" onClick=" return HiddenInfoDisplay('s1')" style="cursor:pointer;" class="image" ></a></div>
</div>
<div id="s1" style="display:none;">
在线等,求帮忙

你的东西写得有点乱,逻辑不清楚:

    首先你是想隐藏图片、还是包括图片的a

    function 的参数使用和传递乱

<script language="javascript">
function changeDisplay(obj) {
var display =  obj.style.display
obj.style.display = display!="block"?"block":"none"
}
</script>

<img src="./Bill.jpg" value="Staff 1" onClick=" changeDisplay(this)" style="cursor:pointer;" class="image">

稍微改了下,changeDisplay 使用各中标签,onClick=" changeDisplay(this)";this表示把当前标签的对象做参数传给changeDisplay方法


你想隐藏s1的div?

function changeDisplay() {
var obj = document.getElementById("s1"); // 取到s1的对象即可
var display =  obj.style.display
obj.style.display = display!="block"?"block":"none"
}

追问

不是隐藏图片,而是图片下面有一些相关信息,要隐藏的是那些信息,点击图片,显示隐藏的信息,再点击图片,把信息隐藏起来,只有图片,最开始也是只显示图片,信息是隐藏着的

追答

    事件触发,如按钮、链接、图片在不在要隐藏的内容中

    隐藏内容,是不是全部包含在一个容器中,如div


给你做了小例子,自己试试吧image的加上


<script language="javascript">
function changeDisplay(id) {
var obj = document.getElementById(id);
var display =  obj.style.display
obj.style.display = display!="block"?"block":"none"
}
</script>
</head>
<body>
<input type="button" value="隐藏/显示s1" onclick="changeDisplay('s1')"/> <br/>
<a href="javascript:void(0)" onclick="changeDisplay('s2')">隐藏/显示s2</a>
<div id="s1" style="display:none;"> 我的div s1 </div>
<div id="s2" style="display:none;"> 我的div s2 </div>
</body>

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-25
function HiddenInfoDisplay (divDisplay) {
if (document.getElementById(divDisplay).style.display != "block") {
document.getElementById(divDisplay).style.display = "block";
} else {
document.getElementById(divDisplay).style.display = "none";
}
}

----------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>test</title>
<script type="text/javascript" src="./HiddenInfoDisplay.js"></script>
</head>
<body>
<div>
<a> <img src="./Bill.jpg" value="Staff 1"
onclick="HiddenInfoDisplay('s1')" style="cursor: pointer;"
class="image" /> </a>
</div>
<div id="s1" style="display: none;">dddddddddddddddd</div>
</body>
</html>

第2个回答  2014-04-25
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function fs(divDisplay) {
if (document.getElementById(divDisplay).style.display == "none") {
document.getElementById(divDisplay).style.display = "block";
}
else {
document.getElementById(divDisplay).style.display = "none";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="button" onclick="fs('s1')" />
<div id="s1" style="display:none;">内容</div>
</div>
</form>
</body>
</html>
应该是你在js那里重复绑定点击事件出错了
第3个回答  2014-04-25
隐藏信息具体是什么。。。。。追问

Name: Bill
ID: 001
Age: 30
Gender: Male
Position: CTO

这些就是隐藏在图片下的信息

追答

你是想当鼠标移到图片的时候,就显示你上面的那些信息,是吗?

追问

不是,是点击图片显示信息,不点击的话,它原本是隐藏着的。要的效果是点击,显示,再点击,隐藏

追答

如同福建好讨厌他预计用英语教育你

无标题文档

Name: Bill,ID: 001,Age:30

var img = document.getElementsByTagName("img")[0];
var t = 0;

img.onclick = function()
{
t++;

t%2!=0? document.getElementsByTagName("p")[0].style.display = "block" : document.getElementsByTagName("p")[0].style.display = "none";
}

相似回答