Divs 位于另一个内,当在 Jquery 和 IE8 的外部 div 中使用 .slideDown() 时显示
上面的代码在所有浏览器中都可以正常运行,但 IE8 除外,它只能在兼容模式下运行。我删除了 DIV 内的所有标记,那里有巨大的表格。 在IE8中,当我选中复选框('rf')时,它应该只显示两个DIVS(#frmRF和#frmAntenas),但它也显示DIV(#frmTX),如果你认为标记不好,它是由 Zend_Form 生成的,我不想为我创建的每个复选框隐藏一个。
<script>
$('input[name="rf"]').change(function(){
if($(this).is(':checked')){
$("#frmRF").show();
$("#frmAntenas").slideDown();
}else{
$("#frmRF").slideUp('slow');
if(!$('input[name="tx"]').is(':checked'))
$("#frmAntenas").slideUp('slow');
}
});
</script>
<TABLE>
<TR>
<TD>
<INPUT value=0 type=hidden name=rf ><INPUT id=rf value=1 type=checkbox name=rf> <FONT class=legenda>RF</FONT>
</TD>
</TR>
</TABLE>
<div id=frmAntenas style="display:none;">
<fieldset>
<legend>Especificações Técnicas da Solicitante:</legend>
<div style='margin-top: 10px' id='frmRF' style="display:none;">
</div>
<div style='margin-top: 10px' id='frmTX' style="display:none;">
</div>
</fieldset>
</div>
The above code works well in all browsers except in IE8 where it only works in compatibility-mode. I removed all the markup inside the DIVs, there where huge TABLEs.
In IE8 when I check the checkbox('rf'), it is suposed to show only two DIVS(#frmRF and #frmAntenas), but it's also showing the DIV(#frmTX), if you think the markup is not ok, it was generated by Zend_Form, I'd like to not have a hidden for each checkbox I create.
<script>
$('input[name="rf"]').change(function(){
if($(this).is(':checked')){
$("#frmRF").show();
$("#frmAntenas").slideDown();
}else{
$("#frmRF").slideUp('slow');
if(!$('input[name="tx"]').is(':checked'))
$("#frmAntenas").slideUp('slow');
}
});
</script>
<TABLE>
<TR>
<TD>
<INPUT value=0 type=hidden name=rf ><INPUT id=rf value=1 type=checkbox name=rf> <FONT class=legenda>RF</FONT>
</TD>
</TR>
</TABLE>
<div id=frmAntenas style="display:none;">
<fieldset>
<legend>Especificações Técnicas da Solicitante:</legend>
<div style='margin-top: 10px' id='frmRF' style="display:none;">
</div>
<div style='margin-top: 10px' id='frmTX' style="display:none;">
</div>
</fieldset>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先抱歉,我不知道如何发表评论,也没有看到任何评论按钮。
我想我已经有一段时间遇到类似的问题了,我已经关闭了 IE 的幻灯片。我认为这只是 IE 处理不好的事情..
所以我认为你应该尝试这个,看看它是否有效:
我相信向上/向下滑动与显示和隐藏内容相同(“慢”),所以我对此进行了调整。
Lauw
编辑:
当我把它放到网上并将你的 HTML 更改为以下内容时,它对我有用:
这里的事情是你在 div 上定义了两次“样式”,所以它没有捕捉到显示:none;
评论后编辑答案。
希望这能解决这个问题,
劳
First of all sorry, I have no clue how to comment, don't see any button for it.
I think I've had a similar problem for a while and I have turned off slidedown for IE. I think this is just something IE doesn't handle too well..
So I think you should try this and see if it works:
I believe slideup/down does the same as showing and hiding stuff ("slow"), so i adjusted that.
Lauw
Edit:
It worked for me when I put it online and changed your HTML to the following:
The thing here is that you were defining 'style' twice on the div, so it did not catch on to the display:none;
Editted answer after commenting.
Hope this solves it,
Lauw