zcsilaike 2010-12-06 20:36
浏览 753
已采纳

关于一个Onclick切换样式的问题

想做个点击

切换图片的功能,现在碰到一个问题,原本设想的效果是点击一个时背景色变为白色字体变为黑色,再次点击另外一个时原先那个再次变为默认颜色(黑色背景白色字体),但是试了很久都没达到效果。请各位帮忙看看,谢谢。

[code="javascript"]window.onload=function setImage(){
var number=document.getElementById("number");
var list=number.getElementsByTagName("li");
for (var i=0;i list[i].flag=true;
list[i].onclick=function(){
var img=document.getElementsByTagName("img");
for (var i=0;i if(img[i].src.indexOf(this.lastChild.nodeValue)!=-1){
img[i].style.display="";
var h3=document.getElementsByTagName("h3")[0];
h3.lastChild.nodeValue=img[i].title;
}else{
img[i].style.display="none";
}
if(this.flag==true){
this.style.backgroundColor="#000";
this.style.color="#FFF";
this.flag=false;
}
if(this.flag==false){
this.style.backgroundColor="#FFF";
this.style.color="#000";
this.flag=true;
}
}
}
}
}[/code]
[code="css"]<br> *{<br> margin:0;<br> padding:0;<br> }</p> <p>#wrapper{<br> margin:10px;<br> width:380px;<br> height:230px;<br> }</p> <p>ul#number{<br> position:absolute;<br> left: 288px;<br> top: 160px;<br> }</p> <p>#number li{<br> float:left;<br> margin-right:10px;<br> border:1px solid #FFF;<br> list-style:none;<br> width:20px;<br> height:20px;<br> color:#fff;<br> text-align:center;<br> cursor:pointer;<br> background:#000;<br> color:#FFF;<br> }</p> <p>#numbercolor{<br> background:#FFF;<br> color:#000;<br> }</p> <p>#title{<br> width:380px;<br> height:50px;<br> background:#000;<br> opacity:0.55;<br> filter: alpha(opacity=55);<br> position:absolute;<br> margin-top:180px;<br> z-index: 999;<br> }</p> <p>#wrapper h3{<br> font-size:14px;<br> color:#FFF;<br> position:absolute;<br> margin-top:180px;<br> line-height:50px;<br> width:380px;<br> height:50px;<br> z-index:1000;<br> text-align:center;<br> }<br> [/code]
[code="html"]

  • 1
  • 2
  • 3

[资源] 测试测试测试





[/code]

  • 写回答

3条回答 默认 最新

  • andy_javahome 2010-12-07 00:13
    关注

    你是不是要这个样子的。
    window.onload=function setImage(){

      var number=document.getElementById("number");                     
      var list=number.getElementsByTagName("li");                       
      for (var i=0;i<list.length;i++){                                  
    
              list[i].onclick=function(){     
    
              var img=document.getElementsByTagName("img");    
    
              for (var i=0;i<img.length;i++){    
                     //让ul下的li都回复默认样式
                     var listul=number.getElementsByTagName("ul");
                     number.children[i].style.backgroundColor="#FFF";                   
                     number.children[i].style.color="#000"; 
                     var nvalue = this.lastChild.nodeValue;
                     bnvalue  = nvalue.replace(/(\s*)|(\r)|(\n)/g, "");
                     if(img[i].src.indexOf(bnvalue)!=-1){ 
                           img[i].style.display="block";                         
                           var h3=document.getElementsByTagName("h3")[0];   
                           h3.lastChild.nodeValue=img[i].title;  
    
                       }else{                                               
                           img[i].style.display="none";                     
                       }                                                    
    
                   } 
                    //被点击li的样式改变
                     this.style.backgroundColor="#000";                   
                   this.style.color="#FFF";
             }
    
       }    
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!