css使用filter后,js的折叠菜单就无效了!

adown 2008-10-04 10:51:05
这是html文件

<html>
<head>
<title>test</title>
</head>

<style type="text/css">
#div_tb_left {
width: 207px;
height: 581px;
margin-left: auto;
margin-right: auto;
background-image:url(img/leftBaner.png)!important;background-image:none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled="true", sizingMethod="scale", src="img/leftBaner.png");
}
.divmenu {
text-align:left;
font-family:"Comic Sans MS";
color: #F7931D;
font-size:18px;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.div1 {
text-align:center;
font-family:"Comic Sans MS";
color: #F7931D;
font-size:18px;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.div2 {
text-align:center;
font-family:"Comic Sans MS";
color: #F7931D;
font-size:12px;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</style>

<script type="text/javascript">
/*折叠菜单函数*/
/*做计数器*/
var count=0;
/*用于记录当前显示的哪几个菜单*/
var limit=new Array();
/*同时打开菜单数目,可自定义*/
var countlimit=1;
function expandIt(el) {
obj = document.getElementById("child" + el);
if (obj.style.display == "none") {
/*显示子菜单*/
obj.style.display = "block";
/*限制1个*/
if (count<countlimit) {
/*录入数组*/
limit[count]=el;
count++;
}
else {
document.getElementById("child" + limit[0]).style.display = "none";
/*数组去掉头一位,后面的往前挪一位*/
for (i=0;i<limit.length-1;i++) {limit[i]=limit[i+1];}
limit[limit.length-1]=el;
}
}
else {
obj.style.display = "none";
var j;
/*获取当前点击的菜单在limit数组中的位置*/
for (i=0;i<limit.length;i++) {if (limit[i]==el) j=i;}
/*j以后的数组全部往前挪一位*/
for (i=j;i<limit.length-1;i++) {limit[i]=limit[i+1];}
/*删除数组最后一位*/
limit[limit.length-1]=null;
count--;
}
}
</script>
<body>
<div id="div_tb_left">
<table border="0" cellpadding="0" cellspacing="0" id="tb_left">
<tr>
<td height="48" valign="middle" align="center">
<font style="font-weight:bold; font-size:25px; font-family:'Comic Sans MS'; color:#FFFFFF">
Products
</font>
</td>
</tr>
<tr>
<td height="501" valign="top">
<div class="divmenu" id="main1" onclick="javascript:expandIt(1);" style="cursor:pointer;">  <img src="img/left_flower.gif" /> Princess Vella</div>
<div class="div2" id="child1" style="display:none; cursor:pointer;">
<a href="#">Home Accessories</a> <br>
<a href="#">Bedding</a> <br>
<a href="#">Stationery</a> <br>
<a href="#">Shoe/Hair</a> <br>
<a href="#">Vella's Box</a> <br>
<a href="#">Storage & Bag</a> <br>
<a href="#">CrownFlower</a> <br>
<a href="#">Set3 series</a>
</div>
<div class="divmenu" id="main2" onclick="javascript:expandIt(2);" style="cursor:pointer;">  <img src="img/left_flower.gif" /> Color Jungle</div>
<div class="div2" id="child2" style="display:none; cursor:pointer;">
<a href="#">Wall Deco</a> <br>
<a href="#">Organizer</a> <br>
<a href="#">Bedding</a> <br>
<a href="#">Cushion & Slipper</a> <br>
<a href="#">Wooden Item</a>
</div>
<div class="divmenu" id="main3" onclick="javascript:expandIt(3);" style="cursor:pointer;">  <img src="img/left_flower.gif" /> Bling Bling</div>
<div class="div2" id="child3" style="display:none; cursor:pointer;">
<a href="#">Wall Deco</a> <br>
<a href="#">Organizer</a> <br>
<a href="#">Bedding</a> <br>
<a href="#">Cushion & Slipper</a> <br>
<a href="#">Wooden Item</a>
</div>
</td>
</tr>
<tr>
<td height="1"></td>
</tr>
</table>
</div>
</body>
</html>

我发现只要在css里面使用了filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled="true", sizingMethod="scale", src="img/leftBaner.png");
这句话,折叠菜单在IE6环境就失效!如果图片不加载不注释代码,也还有效!
希望大家指点下!
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyujia 2008-10-05
  • 打赏
  • 举报
回复
顶楼上的
你可以去ff上面看看
http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/DXTidemo/DXTidemo.htm
然后再去ie上看看就知道了
allen0228 2008-10-05
  • 打赏
  • 举报
回复
提示一下 ff不支持滤镜效果 只能有透明的效果 这个滤镜是ie才有的
adown 2008-10-04
  • 打赏
  • 举报
回复
怎么改?
阿云ivan 2008-10-04
  • 打赏
  • 举报
回复
那就针对一下ie6来改一下css吧
sunyujia 2008-10-04
  • 打赏
  • 举报
回复
当然了,浏览器的不同小版本号也会有很多bug的
adown 2008-10-04
  • 打赏
  • 举报
回复
你说的菜单正常,是指在IE6中已经加载了背景图片吗?
sunyujia 2008-10-04
  • 打赏
  • 举报
回复
看了你的留言,foxfire和ie完全两个内核,所以一个有问题一个没问题,太正常了这是家常便饭。
现在web开发就是这么混乱,习惯就好了。
在我机器上ie完成可以显示滤镜效果,firefox不行
但是菜单都正常,我没法给你改啊,没环境,靠猜啊。
sunyujia 2008-10-04
  • 打赏
  • 举报
回复
没复现我是ie6 版本6.0.2900.2180
只能让复现了的给你改改看了
我一般喜欢这么写
display = "";
1楼的意思是判断下浏览器类型,用js可以判断
css里面也可以写js

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧