首页 > 代码库 > ie7下设置z-index无效如何解决?
ie7下设置z-index无效如何解决?
ie7下z-index无效的问题之前做练习的时候遇到过,百度解决掉之后就丢脑后了。今天项目中又发现这个bug,无奈又去百度,这次还是记下来,节省了百度的时间还能小装一把...
需求是这样的:
页面中的两个层默认隐藏,点击这个层的展开图标时要把这个层显示出来,点收起的时候再把这个层隐藏,因为两个层是上下排列,所以点击展开的时候正常的显示应该是这样的,如下(丑)图:
实现的代码我也贴一部分上来,逻辑就是点哪个层,哪个层的z-index值在原来的基础上加高点
$isSales.append($(‘<em class="ex-btn ex-hide"></em>‘).on("click",function(){ zIndex+=2; //z-index值加2 if($(this).hasClass("ex-hide")){ //点击展开 $(this).removeClass("ex-hide").addClass("ex-show"); $(this).parent().parent().addClass("caption2-sales-box2") }else{ $(this).removeClass("ex-show").addClass("ex-hide"); $(this).parent().parent().removeClass("caption2-sales-box2") } $(this).parent().css("z-index",zIndex); //设置这个层的z-index值 }))
图虽然丑了点,但在谷歌火狐等其他浏览器里是正常的,但当我调到ie7的时候,它变成了这样甚至是这样:
这就已经不是丑的问题了,好像在ie7浏览器下z-index根本没有生效,解决方法很多种,不过我目前只会这一种,就是给这个层的父级设置z-index值,代码如下:
$isSales.append($(‘<em class="ex-btn ex-hide"></em>‘).on("click",function(){ zIndex+=2; //z-index值加2 if($(this).hasClass("ex-hide")){ //点击展开 $(this).removeClass("ex-hide").addClass("ex-show"); $(this).parent().parent().addClass("caption2-sales-box2") }else{ $(this).removeClass("ex-show").addClass("ex-hide"); $(this).parent().parent().removeClass("caption2-sales-box2") } $(this).parent().css("z-index",zIndex); //设置这个层的z-index值 $(this).parent().parent().css("z-index",zIndex); //设置这个层的父级的父级的z-index }))
这样就可以解决了
ie7下设置z-index无效如何解决?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。