| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2624 人关注过本帖
标题:求一段单纯的div内元素隐藏显示的代码
只看楼主 加入收藏
tokoyoshi
Rank: 2
等 级:论坛游民
帖 子:99
专家分:67
注 册:2009-10-24
结帖率:87.1%
收藏
已结贴  问题点数:20 回复次数:4 
求一段单纯的div内元素隐藏显示的代码
2010年8月7日,重新修改
重新修改:
。。。。
。。。。
<div  id="pireFu" class="newClothesText">
      <ul>
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_125')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_125">
        <li class="newClothesTextPic" id="reili_125"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094857484.jpg" id="reimg_125"  /></li>
        </div>
        
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_124')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_124">
        <li class="newClothesTextPic" id="reili_124"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094843843.jpg" id="reimg_124"  /></li>
        </div>
        
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_123')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_123">
        <li class="newClothesTextPic" id="reili_123"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094829296.jpg" id="reimg_123"  /></li>
        </div>
        
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_122')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_122">
        <li class="newClothesTextPic" id="reili_122"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094814328.jpg" id="reimg_122"  /></li>
        </div>
        
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_121')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_121">
        <li class="newClothesTextPic" id="reili_121"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094758859.jpg" id="reimg_121"  /></li>
        </div>
        
        <li id="pidaireone" onclick="xunhuan('pireFu','Pire_120')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
        <div id="Pire_120">
        <li class="newClothesTextPic" id="reili_120"><img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/2010080609473962.jpg" id="reimg_120"  /></li>
        </div>
        
      </ul>
    </div>
。。。
。。。。
。。。

需求:
当点击对应的li,显示对应的img,其他全部隐藏,例如 点击 li1 显示 im1 ,其他全部隐藏

如何实现,谢谢
本人不会js,可以说完全不懂,希望可以有些注释,谢谢
ps:上面代码结构,是举例,我现在实际的id并不是顺序的,所以应该是传id来实现吧。在次感谢


首先谢谢2楼的哥们,可能是我没说清楚,重点是取到div内的所有元素,然后循环,如果是要显示的就显示,其余的都隐藏,应该是这样的才可以,2楼的行不通·

看来真的是我没有说清楚,对大家造成误导,很抱歉,其实这段实例中的 li 或者 div 或者 img 的id,全部是动态生成的,全部是一个标识,加动态绑定的id, 像这样 img_<%# Eval("id")%>,运行出来像这样 img_114,img_556,img_117等,所以id是不确定的,并不是奇偶数判断。希望能尽快得到答案,我自己也在尝试写js,不过出现很多莫名其妙的bug,比如,只有一个执行,其他的都不执行,或者干脆不执行,可能是由于我对函数式编程实在没什么了解,下面把我的代码贴出来,虽然是错的,但应该可以表明我的需求功能:

function xunhuan(funame,ziname)
{
   
   
    var fu = document.getElementById(funame).getElementsByTagName("div");
  
    for(var i=0;i<fu.length;i++)
    {
        if(fu.item(i).getAttribute("id") == ziname)
      {
      
     
        fu.item(i).style.display = "block";

      }else
      {
        
        fu.item(i).style.display = "none";
      }
    }
}




非常感谢大家!

[ 本帖最后由 tokoyoshi 于 2010-8-10 09:48 编辑 ]
搜索更多相关主题的帖子: div 元素 代码 隐藏 
2010-08-06 12:12
gulimeksoft
Rank: 4
等 级:业余侠客
威 望:4
帖 子:53
专家分:208
注 册:2010-8-5
收藏
得分:0 
document.getElementById("im1");是获取图像1的对象
document.getElementById("im1").style.diplay="block";将图像1显示,其他的图像你设置成 .style.diplay="none",就隐藏
就这样给每个li设置个单击按钮事件,每个事件都是上面的内容,换成你需要显示隐藏的ID就可以了

如果用jQuery就更简单些 你可以上网搜搜

[ 本帖最后由 gulimeksoft 于 2010-8-6 13:49 编辑 ]
2010-08-06 13:46
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:0 
程序代码:
<div>
<li class="hong" id="li1" onclick="disfn(1)"><span><img src="images/conIcon_06.jpg" /></span>男士短袖休闲衬衫 单件99元起</li>
<li class="newClothesTextPic"><img id="im1" src="images/newClothesTextPic_12.jpg"  /></li>
<li class="hong" id="li2" onclick="disfn(2)"><span><img src="images/conIcon_06.jpg" /></span>男士短袖休闲衬衫 单件99元起</li>
<li class="newClothesTextPic"><img id="im2" src="images/newClothesTextPic_12.jpg" /></li>
<li class="hong" id="li3" onclick="disfn(3)"><span><img src="images/conIcon_06.jpg" /></span>男士短袖休闲衬衫 单件99元起</li>
<li class="newClothesTextPic"><img id="im3" src="images/newClothesTextPic_12.jpg" /></li>
</div>
<script type="text/javascript">
    function disfn(i) {
        for (var j = 1; j < 4; j++) {
            if (j == i) {
                document.getElementById("im" + j).style.display = "block";
            }
            else {
                document.getElementById("im" + j).style.display = "none";
            }
        }
    }
</script>
如果id无规律你就document.getElementsByTagName("li")获取所有li,然后给奇数li加时间来控制偶数li的显示和隐藏
建议还是规范一下id的命名吧,这样可以节省大量代码。id设成什么又没人管你,功能实现了不就完了,怎么方便写怎么来
2010-08-06 14:58
gulimeksoft
Rank: 4
等 级:业余侠客
威 望:4
帖 子:53
专家分:208
注 册:2010-8-5
收藏
得分:10 
不客气,意思是你隐藏和显示没问题了,就是怎么取隐藏或显示的那个对象有问题吧,上网搜搜吧,有很多方法的 如果用jQuery就很简单
不用的话你可以通过var s=document.getElementsByTagName("span");取到所有span对象,然后通过s[i]数组隐藏所有的span,即隐藏所有img,li的函数传值的时候用this  ,function li(this){}需要显示的那个span或img可以根据节点来获取,当前li的对象为this,子节点为this.childNodes,或者firstChild,正好是你需要显示那个span,即使  函数内
function li(this){}{
var s=document.getElementsByTagName("span");
for(var i=0;i<s.length;i++){
s[i].style.display = "block";}//所有图像隐藏
this.firstChild.style.display = "none";//你需要的那个图像显示
}这只是取对象的一种方法,当前对象的父节点为parentNode,还有同等级的下一个节点,上一个节点等,你可以上网搜搜相关的,取到你想要的对象其实很简单的
2010-08-07 11:51
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:10 
js没有问题
你改下输出的html代码试试:
   
程序代码:
<div  id="pireFu" class="newClothesText">
          <ul>
            <li onclick="xunhuan('pireFu','Pire_125')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_125">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094857484.jpg" id="reimg_125"  />
            </div>
           
            <li onclick="xunhuan('pireFu','Pire_124')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_124">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094843843.jpg" id="reimg_124"  />
            </div>
           
            <li  onclick="xunhuan('pireFu','Pire_123')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_123">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094829296.jpg" id="reimg_123"  />
            </div>
           
            <li  onclick="xunhuan('pireFu','Pire_122')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_122">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094814328.jpg" id="reimg_122"  />
            </div>
           
            <li  onclick="xunhuan('pireFu','Pire_121')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_121">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/20100806094758859.jpg" id="reimg_121"  />
            </div>
           
            <li  onclick="xunhuan('pireFu','Pire_120')" ><span><img id="beijing" src="images/conIcon_06.jpg" /></span>置热产品</li>
            <div id="Pire_120">
            <img onload="javascript:DrawImage(this,235,118)" src="upFile/Images/201086/2010080609473962.jpg" id="reimg_120"  />
            </div>
           
          </ul>
    </div>
你原先的代码ff下可以运行 ie下div里面又嵌套li,走不通
另外,针对你最开始列出来的例子,我说的判断奇偶你也理解错了 我说的奇偶不是指id后面跟的数字,代码解释一下
程序代码:
var liarr = document.getElementById('id').getElementsByTagName("li");
for(var i =0;i<liarr.length;i++){
    liarr[0];//这是第一个li,奇
    liarr[1];//这是第二个li,偶
}
因为当时你的例子是两个li一组的,第一个li是带事件的文字,第二个li用来显示或隐藏图片,针对这样的html结构才这么说的

 
2010-08-09 09:09
快速回复:求一段单纯的div内元素隐藏显示的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018127 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved