javascript显示隐藏层比较不错的方法分析

这是一个Q&A的页面,设计师希望能够点击相关的问题后,在它下方显示对应的答案。这是一个比较常见功能,通常的解决办法是把“答案”当作整个问题容器的子元素,然后点击父元素上的按钮后展开对应的子元素。通过父子元素的对应关系来匹配标题和答案。

但是当初写html的时候并没有考虑到脚本编写(需求是后加的),所以,答案和标题没有父子关系可以对应。 html代码如下。

所以,这里需要用到另一种方法来匹配答案和标题。我们可以通过捕捉元素的位置来匹配它们。也就是说第一条标题,对应的肯定是整个序列中的第一条答案,第二条标题对应的肯定是第二条答案。 这样就可以无视html结构来控制它们的对应关系了。

复制代码 代码如下:

<ul class="qusetionList">
<li class="liHeader"><span class="colABC-A">編號</span><span class="colABC-B">標題</span><span class="colABC-C">編輯者/發問者</span></li>

<li class="liBody"><span class="colABC-A">1</span><span class="colABC-B">想要開小店需要付費嗎?</span><span class="colABC-C"><a href="#" title="" class="openLink"></a> 客服</span></li>
<li class="answer"><span class="colABC-B">
現階段於策視其所以不收取任何費用,請使用者不用擔心。<BR>
除了加值服務的功能模組之外。</span><span class="colABC-C"><a href="#" title="" class="closeLink"></a> 客服</span></li>

<li class="liBody"><span class="colABC-A">2</span><span class="colABC-B">想要開小店需要付費嗎?</span><span class="colABC-C"><a href="#" title="" class="openLink"></a> 客服</span></li>
<li class="answer"><span class="colABC-B">
現階段於策視其所以不收取任何費用,請使用者不用擔心。<BR>
除了加值服務的功能模組之外。</span><span class="colABC-C"><a href="#" title="" class="closeLink"></a> 客服</span></li>
</ul>

脚本解释:当点击openLink这个图标时,显示和openLink在序列中位置相同的answer。这里需要将onclick事件放在闭包里面,等到for循环结束后才被激活。如果没有这层闭包,那不管点击哪个openLink,显示的都将是openLink.length的值。

复制代码 代码如下:

document.getElementsByClassName = function(eleClassName)
{
var getEleClass = [];//定义一个数组
var myclass = new RegExp("\\b"+eleClassName+"\\b");//创建一个正则表达式对像
var elem = this.getElementsByTagName("*");//获取文档里所有的元素
for(var h=0;h<elem.length;h++)
{
var classes = elem[h].className;//获取class对像
if (myclass.test(classes)) getEleClass.push(elem[h]);//正则比较,取到想要的CLASS对像
}
return getEleClass;//返回数组
}
//上面这是捕捉class的方法,我一直用它,复制过来就OK。

var answer = document.getElementsByClassName("answer");
var openLink = document.getElementsByClassName("openLink");
var closeLink = document.getElementsByClassName("closeLink");

for (i = 0; i< openLink.length ; i++ )
{
(
function(i){
openLink[i].onclick = function (){
var j = i;
answer[j].style.display = "block"
}
closeLink[i].onclick = function (){
var j = i;
answer[j].style.display = "none"
}
}
)(i);
}

时间: 2008-09-27

javascript 隐藏/显示指定的区域附HTML元素【legend】用法

javascript code: 代码 复制代码 代码如下: function expandOther(el, el2) { whichEl = document.getElementById(el) button = document.getElementById(el2) if (whichEl.style.display == 'none') { whichEl.style.display = ''; button.value = "隱藏"; } else { whichEl.s

javascript 层隐藏和显示的代码

层隐藏和显示 2009-7-7 function doit(){ var m = document.getElementById("menu"); m.innerText = m.innerText == "更多"?"收起":"更多"; document.getElementById("content1").style.display = m.innerText == "更多"?&quo

javascript实现div的显示和隐藏的小例子

复制代码 代码如下: <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>oec2003</title><script language="JavaScript" type="text/JavaScript"><!--func

javascript控制层显示或隐藏的方法

本文实例讲述了javascript控制层显示或隐藏的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>中国风</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <script language="JavaScript&qu

JAVASCRIPT 点击显示 隐藏层

点击显示/隐藏层 //code from www.jb51.net a{text-decoration:none;} .tab{border:1px solid #e57243;border-top:0;margin:10px 0;text-align:left;width:200px;font-size:14px;} .th{border-top:1px solid #e57243;padding:5px;font-weight:700;clear:both;background:#f5e1d

javascript实现信息的显示和隐藏如注册页面

我们在写注册页面的时候,必填信息是可见的,可选信息是隐藏的,如果用户希望填写,可以单击"详细信息". 复制代码 代码如下: <!-- 下面代码通过javascript实现信息的显示和隐藏 --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <scrip

JavaScript栏目列表隐藏/显示简单实现

1.构建JavaScript库 复制代码 代码如下: (function(){ //将命名空间IC注册到window window['JSHide']={}; //隐藏侧边栏,并将图片换成右箭头图片 function yc() { document.getElementById("cloone").style.display ="none"; document.getElementById("img").innerHTML ="<

javascript 控制 html元素 显示/隐藏实现代码

1.编写js函数 <script type="text/javascript"> function display(y){$(y).style.display=($(y).style.display=="none")?"":"none";} function $(s){return document.getElementById(s);} </script> 2. 要显示/隐藏的html元素加上 id

Javascript显示和隐藏ul列表的方法

本文实例讲述了Javascript显示和隐藏ul列表的方法.分享给大家供大家参考.具体如下: <ul id="rightNav"> <li> <h2 class="rightNavItem"><a href="#">Show & Hide</a></h2> <ul> <li><a href="">Links et

Javascript与jQuery方法的隐藏与显示

示例代码很简单,直接奉上,就不多废话了 复制代码 代码如下: <html> <head> <title>denotoggle</title> <style> #box {     width: 100px;     height: 100PX;     background-color: #ddd } .show {     visibility: hidden; } </style> <script src="jqu

jQuery实现侧边栏隐藏与显示的方法详解

本文实例讲述了jQuery实现侧边栏隐藏与显示的方法.分享给大家供大家参考,具体如下: web项目中经常会出现左侧侧边栏,右侧显示内容的web页面. 效果如图: 如何实现点击本周食谱,本周食谱的列表隐藏或显示切换,并关闭下周食谱列表显示,点击下周食谱,让下周食谱的列表隐藏切换显示,并关闭本周食谱列表显示 实现思路: 1.布局: 布局顶部的topDiv,左侧的leftDiv(optionDiv,navListUl), 布局右侧的contentDiv. 布局如图: 2.js控制optionDiv和n

jQuery元素的隐藏与显示实例

本文实例讲述了jQuery元素的隐藏与显示的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml">  <head runat="server">      <title></title>      <script type="text/jscript" src="jquery/jqu

jQuery控制元素隐藏和显示

1.jQuery隐藏和显示效果 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: $("#hide").click(function(){ $("p").hide(); }); //点击id="hide"元素时,隐藏所有<p>标签内容: $("#show").click(function(){ $("p").show(); }); //点击id=

JQuery DIV 动态隐藏和显示的方法

1. 如果在载入是隐藏: <head> <script language="javascript"> function HideWeekMonth() { $("#tt1").hide(); $("#tt2").hide(); } </script> </head> <body onLoad="HideWeekMonth()"> </body> 2. 动态

jQuery实现切换隐藏与显示同时切换图标功能

HTML代码: <!doctype html> <html> <head> <meta charset=" utf-8"> <title>jq隐藏显示图标切换</title> <!--引入jq文件--> <script type="text/javascript" scr="./js/jquery.min.js"></script> <

jQuery简单实现隐藏以及显示特效

简单的 隐藏以及显示的代码如下: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <script src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){   $("#hide").click(function

jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)

实例 通过使用滑动效果,在显示和隐藏状态之间切换 <p> 元素: 复制代码 代码如下: $(".btn1").click(function(){ $("p").slideToggle(); }); 定义和用法 slideToggle() 方法通过使用滑动效果(高度变化)来切换元素的可见状态. 如果被选元素是可见的,则隐藏这些元素,如果被选元素是隐藏的,则显示这些元素. 语法 $(selector).slideToggle(speed,callback)参

JS实现“隐藏与显示”功能(多种方法)

下面我将效果图展示出来: 1,通过按钮实现隐藏与显示: 这个是通过按钮点击实现的隐藏与显示,具体代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>通过按钮实现隐藏和显示</title> <style type="text/css"> .body{ margin: 0 auto; } #show{ wid

原生Javascript和jQuery做轮播图简单例子

接触jquery也有一段时间了,今天刚好利用轮播图来练练手.博文的前面会介绍一个简单用jquery做轮播图的例子,中间会插入一些关于轮播图更多的思考,在后面会用Javascript的方法来写一个轮播图,最后则是关于jquery和Javascript的比较. jquery做轮播图的例子: html部分代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>轮