javascript如何实现多个下拉框或隐藏层的显示隐藏
比如网页中有10个下拉框点击一个出下拉框点击另一个出下拉框同时前一个自动隐藏如何实现?这个问题的重点是10个里只会显示出一个点击一个会隐藏其他的下面的答案有些对我很有帮助...
比如网页中有10个下拉框 点击一个出下拉框 点击另一个出下拉框同时前一个自动隐藏 如何实现?
这个问题的重点是10个里只会显示出一个 点击一个会隐藏其他的
下面的答案有些对我很有帮助 可惜我是新手 暂时就 “指罗男”的答案能看懂理解 其他的我还不能完全理解运用 我会继续学习下去的 我期待能有更多的好方法出来 让我学习 展开
这个问题的重点是10个里只会显示出一个 点击一个会隐藏其他的
下面的答案有些对我很有帮助 可惜我是新手 暂时就 “指罗男”的答案能看懂理解 其他的我还不能完全理解运用 我会继续学习下去的 我期待能有更多的好方法出来 让我学习 展开
5个回答
展开全部
1.全部下拉框的display:none;
2.给每个下拉框对应的按钮加nomouseclick事件
3.事件中,先选择出display:block的下拉框,设置其display:none;然后再把当前下拉框设置为display:block;
这个用JQUERY做起来比较简单
1.把全部下拉框设置为display:none;
2.加一个类 .current { display:block !important;}
3.JQUERY代码如下
$(document).ready(function(){
$("#下拉框的ID").click(function(){
$(".current").removeClass("current");
$(this).addClass("current");
});
});
2.给每个下拉框对应的按钮加nomouseclick事件
3.事件中,先选择出display:block的下拉框,设置其display:none;然后再把当前下拉框设置为display:block;
这个用JQUERY做起来比较简单
1.把全部下拉框设置为display:none;
2.加一个类 .current { display:block !important;}
3.JQUERY代码如下
$(document).ready(function(){
$("#下拉框的ID").click(function(){
$(".current").removeClass("current");
$(this).addClass("current");
});
});
展开全部
给你一个简单的例子吧!
当你点击显示那个隐藏层的时候,就调用reload()这个函数,
<script type="text/javascript">
<!--
function createxmlhttp()
{
//create xmlhttp object
xmlhttpobj = false;
try{
xmlhttpobj = new XMLHttpRequest;
}catch(e){
try{
xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP");
}catch(e2){
try{
xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e3){
xmlhttpobj = false;
}
}
}
return xmlhttpobj;
}
function reload(){
var xmlobj;
xmlobj=createxmlhttp();
xmlobj.open("get","search.asp?typeid=1",true);//这里要为那个层的内容做一个ASP页面.,如果有值传递,也可以加在后面.
xmlobj.onreadystatechange=function(){
if (xmlobj.readyState==4){
if (xmlobj.status==200){
document.getElementById("info").innerHTML=xmlobj.responseText;//加载内容.这里的info是我随便取的一个ID,你可以换成你的那个显示内容的层的ID.
}
}
};
xmlobj.send(null);
}
-->
</script>
当你点击显示那个隐藏层的时候,就调用reload()这个函数,
<script type="text/javascript">
<!--
function createxmlhttp()
{
//create xmlhttp object
xmlhttpobj = false;
try{
xmlhttpobj = new XMLHttpRequest;
}catch(e){
try{
xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP");
}catch(e2){
try{
xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e3){
xmlhttpobj = false;
}
}
}
return xmlhttpobj;
}
function reload(){
var xmlobj;
xmlobj=createxmlhttp();
xmlobj.open("get","search.asp?typeid=1",true);//这里要为那个层的内容做一个ASP页面.,如果有值传递,也可以加在后面.
xmlobj.onreadystatechange=function(){
if (xmlobj.readyState==4){
if (xmlobj.status==200){
document.getElementById("info").innerHTML=xmlobj.responseText;//加载内容.这里的info是我随便取的一个ID,你可以换成你的那个显示内容的层的ID.
}
}
};
xmlobj.send(null);
}
-->
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设一个全局变量,比如var selectedObj = null;
在点击事件触发时,
1. 当selectedObj ==null,将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
2. 当selectedObj !=null,隐藏它,并将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
在点击事件触发时,
1. 当selectedObj ==null,将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
2. 当selectedObj !=null,隐藏它,并将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
更多追问追答
追问
能再具体点吗 我新手 你这样说 我还没明白具体该怎么写
追答
实现方法我已经很具体了。
把你代码贴上,我给你改一下,
<!--
var selectedObj =null;
function createxmlhttp()
{
if(selectedObj ==null){
selectedObj = document.getElementById("info");//换成你的那个显示内容的层的ID.
selectedObj.innerHTML = xmlobj.responseText;
}else{
selectedObj .style.display = "none";//隐藏前一个
selectedObj = document.getElementById("info");//换成你的那个显示内容的层的ID.
selectedObj.innerHTML = xmlobj.responseText;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将10个下拉框分别放进10个div中,把下拉框所在div之外的其他div的style.display="none"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最直接if判断显示和隐藏,也可以for循环遍历
追问
求具体方法 你这样说我还是一头雾水。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询