关于内容的fadeIn/fadeOut效果的简单jQuery故障
simple jQuery glitch regarding fadeIn/fadeOut effects for content
场景:我有一个问题,它有两个单选按钮&两个子型:subformA
和subformB
当用户检查第一个单选按钮子窗体A应该变淡In时,或者当他检查第二个单选按钮subformB
应该变淡IN时。
问题:我已经完成了代码,但问题是当用户检查第一个单选按钮时,子窗体A将出现&如果出现这种情况,他会改变主意,点击另一个选项而不是前一个。子形式B被连接到子形式A。
请求:我想使这些表单相互排斥(如果用户重新选择单选按钮,则不会产生串联效果)。这是一件我无法注意到的小事。谢谢
我的js代码::
<!-- script for the Div -->
<script type="text/javascript" >
$(document).ready(function() {
$('#subafform').hide();
$("#element_4_1").click( function(){
if( $(this).is(':checked')) {
$('#subafform').fadeIn();
} else {
$('#subafform').fadeOut();
}
});
});
</script>
代码的其他部分:
<script type="text/javascript" >
$(document).ready(function() {
$('#subbform').hide();
$("#element_4_2").click( function(){
if( $(this).is(':checked')) {
$('#subbform').fadeIn();
} else {
$('#subbform').fadeOut();
}
});
});
</script>
<li id="li_4" >
<label class="description" for="element_4">Are you affiliated with Company? </label>
<span>
<input id="element_4_1" name="element_4" class="element radio required" type="radio" value="1" />
<label class="choice" for="element_4_1">Yes</label>
<input id="element_4_2" name="element_4" class="element radio required" type="radio" value="2" />
<label class="choice" for="element_4_2">No</label>
</span>
</li>
<li id="subafform">
<ul>
<li id="li_5_1" >
<label class="description" for="element_5_1">Department/College </label>
<div>
<input id="element_5_1" name="element_5_1" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li> <li id="li_5_2" >
<label class="description" for="element_5_2">Department Chair </label>
<div>
<input id="element_5_2" name="element_5_2" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>
</li>
<li id="subbform>
........
....
</li>
示例DOM:
<form class="subform" id="subforma">
<button>Form A</button>
</form>
<form class="subform" id="subformb">
<button>Form B</button>
</form>
<form id="switcher">
<input type="radio" name="show_form" value="subforma"> Show Form A<br />
<input type="radio" name="show_form" value="subformb"> Show Form B<br />
</form>
JQuery示例:
$('input[name="show_form"]').click(function(){
var form_id = this.value;
$('.subform:visible').fadeOut();
$('#' + form_id).fadeIn();
});
示例CSS:
.subform {
display:none;
position:absolute;
top:0;
left:0;
}
#switcher {
position:relative;
top:100px;
}
演示:
http://jsfiddle.net/AlienWebguy/hFax3/
如果有人单击并已选中单选按钮,它将保持选中状态。所以你的if-else语句对你没有任何好处。我想做的是让表格B在你点击A时总是淡出,而表格A在你点击B时总是淡出
$("#element_4_1").click(function() {
$('#subafform').fadeIn();
$('#subbfform').fadeOut();
}
您要做的是检查是否单击了单个单选按钮,然后检查它是否被选中。好吧,由于用户点击了一个单选按钮,它当然会被选中。
您需要做的是删除if
语句,并将其保留,以便在单击按钮A时,淡入子窗体A并淡出子窗体B。如果jQuery很聪明(我对此表示怀疑…),那么如果它已经淡出,它就不会淡出subformB,所以没有问题。
类似地,当单击按钮B时,淡入子窗体B并淡出子窗体A。
相关文章:
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- 简单JQuery数组
- 用于wooccommerce的简单JQuery脚本不起作用
- jQuery 选择器中的简单 jQuery 语法和串联
- 简单jquery缩放插件中的中心图像
- 对使用 iframe 的简单 jquery 展开/折叠进行故障排除
- 为什么我的简单jQuery代码不适用于.css()方法
- 基于字符串搜索的简单jquery查找和显示无法使其工作
- 简单jQuery切换到$(“html,body”).css({“overflow”:“hidden”});当打开并且然后
- 简单JQuery淡入/淡出
- 如何动画化“;简单jquery过滤”;只使用css
- 关于内容的fadeIn/fadeOut效果的简单jQuery故障
- 简单JQuery代码-逻辑正确,但警报不正确;t弹出
- 梅西简单jQuery消息框
- 简单Jquery幻灯片不起作用
- 简单jQuery函数的结果值不会显示在my 'answer'跨度
- 简单jQuery表单验证:由于占位符polyfill,在ie9中检查empty.val()失败
- 简单jquery选择器脚本中出现意外行为
- 简单jQuery选项卡的问题
- 移动菜单的简单jQuery左/右滑动切换动画