代码点击展开,关闭问题:第一个可以点击展开。第二个点击直接展开第一个。不知道代码哪出现了问题?
代码点击展开,关闭问题:第一个可以点击展开。第二个点击直接展开第一个。不知道代码哪出现了问题?...
代码点击展开,关闭问题:第一个可以点击展开。第二个点击直接展开第一个。不知道代码哪出现了问题?
展开
3个回答
展开全部
代码中引用的对象都是connect,key,而没有引用connect1,key1.
所以操作的对象总是上面一个.应该将对象参数化.
<body>
<style>
#content0, #content1 {
font: 13px/25px;
width: 500px;
height: 40px;
background: #eee;
padding: 10px;
border: 4px #ccc double;
border-bottom:0;
overflow: hidden;
}
#key0, #key1{color:#900;float:right}
hr{height:1px;border:1px #ccc dotted}
</style>
<script>
var s=5;
var minheight=20;
var maxheight=300;
function shoppingcat(idx){
var okey = document.getElementById("key"+idx);
var ocontent = document.getElementById("content"+idx);
var key = okey.innerText;
if(key=="展开"){
ocontent.style.pixelHeight+=s;
if(ocontent.style.pixelHeight<maxheight){
setTimeout("shoppingcat("+idx+");",1);
}else{
okey.innerText="关闭";
}
}else{
ocontent.style.pixelHeight-=s;
if(ocontent.style.pixelHeight>minheight){
setTimeout("shoppingcat("+idx+");",1);
}else{
okey.innerText="展开";
}
}
}
</script>
<div id="content0"> <span id="key0" onClick="shoppingcat(0);">展开</span>
孤雁儿 111
<br><br>
世人作梅词,下笔便俗。予试作一篇,乃知前言不妄耳。<br><br>
藤床纸帐朝眠起,<br>
说不尽、无佳思。<br> 。
</div>
<div id="content1"> <span id="key1" onClick="shoppingcat(1);">展开</span>孤雁儿222 <br><br> 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 。到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 </div>
</body>
所以操作的对象总是上面一个.应该将对象参数化.
<body>
<style>
#content0, #content1 {
font: 13px/25px;
width: 500px;
height: 40px;
background: #eee;
padding: 10px;
border: 4px #ccc double;
border-bottom:0;
overflow: hidden;
}
#key0, #key1{color:#900;float:right}
hr{height:1px;border:1px #ccc dotted}
</style>
<script>
var s=5;
var minheight=20;
var maxheight=300;
function shoppingcat(idx){
var okey = document.getElementById("key"+idx);
var ocontent = document.getElementById("content"+idx);
var key = okey.innerText;
if(key=="展开"){
ocontent.style.pixelHeight+=s;
if(ocontent.style.pixelHeight<maxheight){
setTimeout("shoppingcat("+idx+");",1);
}else{
okey.innerText="关闭";
}
}else{
ocontent.style.pixelHeight-=s;
if(ocontent.style.pixelHeight>minheight){
setTimeout("shoppingcat("+idx+");",1);
}else{
okey.innerText="展开";
}
}
}
</script>
<div id="content0"> <span id="key0" onClick="shoppingcat(0);">展开</span>
孤雁儿 111
<br><br>
世人作梅词,下笔便俗。予试作一篇,乃知前言不妄耳。<br><br>
藤床纸帐朝眠起,<br>
说不尽、无佳思。<br> 。
</div>
<div id="content1"> <span id="key1" onClick="shoppingcat(1);">展开</span>孤雁儿222 <br><br> 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 我到这里了。 。到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 到这里了。 </div>
</body>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个展开调用的也是【shoppingcat()】函数,当然展开第一个了。
因为你的shoppingcat()函数中的getElementById找的是【key】,而你第二个span的id是【key1】。
你在复制一个shoppingcat()函数,中间的getElementById改成找【key1】就可以了。
因为你的shoppingcat()函数中的getElementById找的是【key】,而你第二个span的id是【key1】。
你在复制一个shoppingcat()函数,中间的getElementById改成找【key1】就可以了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数需要修改,其中只处理key,未处理key1,key2...
可以加个参数来指定第几个菜单项
function shoppingcat(id)
{
var obj = document.getElementById(id);
...
}
// 调用第1个菜单项几用 shoppingcat(key)...
//以此类推
可以加个参数来指定第几个菜单项
function shoppingcat(id)
{
var obj = document.getElementById(id);
...
}
// 调用第1个菜单项几用 shoppingcat(key)...
//以此类推
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询