2011-08-10 88 views
0

有没有办法让元素的背景不受不透明影响?背景不透明

I.E.我有一个jQuery手风琴,当点击/徘徊时,特定元素(li)的不透明度变化会导致您看到下面的其他元素。

我想知道我是否可以改变它,所以每个列表元素有一个纯色的背景,不会褪色

一些代码:

<div id="accord_container"><div id="accord"> 
<ul> 
    <li><a id="a1"><img src="img/accord/1.jpg" /></a></li> 
    <li><a id="a2"><img src="img/accord/3.jpg" /></a></li> 
    <li><a id="a3"><img src="img/accord/7.jpg" /></a></li> 
    <li><a id="a4"><img src="img/accord/8.jpg" /></a></li> 
</ul> 
</div></div> 

#accord_container{width:930px; margin:0px auto;} 
#accord{height:480px; overflow:hidden; margin:5px; position:relative; cursor:pointer;} 
#accord ul{position:relative; list-style:none; margin:0; padding:0;} 
#accord ul li{float:left; display:block; margin-right:0px; background-color:#FFF;} 
#accord ul li a{display:block; overflow:hidden; height:480px; width:72px; opacity:0.75; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; filter:alpha(opacity=75);} 
#accord ul li img{position:absolute;} 
#a1{width:700px; opacity:1.0; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100);} 

$(document).ready(function(){ 
    lastBlock = $("#a1"); 
    maxWidth = 700; 
    minWidth = 72; 

    $("#accord ul li a").click(
     function(){ 
    if(lastBlock.id == this.id || (lastBlock.id == undefined && this.id == "a1")){ 
    if(this.rel){ 
     window.location=this.rel; 
     } 
    }else{ 
     $(lastBlock).animate({width: minWidth+"px", opacity: 0.75}, { queue:false, duration:400}); 
    $(this).animate({width: maxWidth+"px", opacity: 1.0}, { queue:false, duration:400}); 
    lastBlock = this; 
    } 
    } 
); 
$("#a1").animate({width: maxWidth+"px", opacity: 1.0}, { queue:false, duration:400}); 

});

+0

你有一些我们可以看看的代码吗? –

回答

0

你只需要包装内容。所以,如果你有以下结构(只是一个例子):

<div class="hasBackground"> 
    <div class="theContent"> 

    </div> 
</div> 

然后,您可以设置内部div的不透明度而不影响有背景的外层div。

+0

谢谢。 IE浏览器仍在播放,虽然不透明似乎不起作用... – Badplayer