If/Else语句不能正常工作(特别是Else语句不能正常工作)
If/Else statement not functioning properly (Else statement won't function in particular)
我正在尝试创建一个脚本,根据是否选择某个选项来管理内容的可见性。我遇到的问题是,我的if/else语句不能正常运行。
当最后一个.radial-container
单选按钮被选中时,它显示了div .provider-info
。"我想保留我的电话号码")。
当类.select
从父容器中移除时,它应该是slideUp
,但它没有。
我做了一些实验,用一段不同的代码获得了我想要的功能:
$(function() {
$('.radial-container').on('click', function() {
$(this).addClass('select').siblings().removeClass('select');
if($('.radial-container').last().hasClass('select')) {
$(this).children('.provider-info').slideDown(300);
} else {
$('.provider-info').slideUp(300);
}
})
})
但是上面的片段的问题是它只适用于无限制的第2行。无限制的第一行基本上失去了功能。
我如何修复这段代码,以获得if/else语句正常工作?我只希望div .provider-info
是可见的,当第二个单选按钮被选中。
谢谢,
- m
$(function() {
$('.radial-container').on('click', function() {
$(this).addClass('select').siblings().removeClass('select');
if($('.radial-container').hasClass('select')) {
$(this).children('.provider-info').slideDown(300);
} else {
$('.provider-info').slideUp(300);
}
})
})
.phn-option-container {
display:block;
}
.phn-unl {
position:relative;
margin:40px 0;
}
.phn-unl:after {
content:'';
display:block;
position:relative;
background:#e8e8e8;
height:1px;
top:30px;
clear:both;
}
.radial-container {
display:block;
cursor: pointer;
clear:both;
}
.phn-radio-container {
margin:10px;
clear:both;
}
.phn-unl > h4 {
position:relative;
left:10px;
font-weight:600;
color:#22ddc0;
}
.radial-container p {
position:relative;
float:left;
left:25px;
top:17px;
color:#787878;
}
.radial-container.select .phn-radial .phn-center-dot {
display:block;
}
.phn-radial {
position:relative;
float:left;
height:35px;
width:35px;
padding:2px;
margin:10px 0;
border:5px solid #e8e8e8;
border-radius:50%;
left:10px;
clear:both;
cursor:pointer;
}
.phn-center-dot {
display:none;
position:relative;
height:21px;
width:21px;
background-color:#E16E5B;
border-radius:50%;
}
.provider-info label {
color:#787878;
margin:25px 0 0 60px;
}
.provider-info label span {
position:relative;
color:#E16E5B;
top:-3px;
}
.provider-info input {
background-color:transparent;
border-width:0 0 2px;
border-color:#787878;
border-radius:0;
margin-left:10px;
width:270px;
font-size:16px;
}
::-webkit-input-placeholder {
font-style: italic;
}
:-moz-placeholder {
font-style: italic;
}
::-moz-placeholder {
font-style: italic;
}
:-ms-input-placeholder {
font-style: italic;
}
.provider-info input:focus {
border-color:#22ddc0;
outline:0;
}
.provider-info {
display:none;
clear:both;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div class="phn-option-container">
<div class="phn-unl" data-unl-line="1">
<h4>Unlimited Line 1</h4>
<div class="radial-container select">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like a <strong>new</strong> number</p>
</div>
<div class="radial-container">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like to <strong>keep</strong> my number</p>
<div class="provider-info">
<div>
<label>Current Number: <span>*</span></label>
<input type="text" placeholder="e.g. (555) 555-5555"/>
</div>
<div>
<label>Current Provider: <span>*</span></label>
<input type="text" placeholder="e.g. Verizon"/>
</div>
</div>
</div>
</div>
<div class="phn-unl" data-unl-line="2">
<h4>Unlimited Line 2</h4>
<div class="radial-container select">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like a <strong>new</strong> number</p>
</div>
<div class="radial-container">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like to <strong>keep</strong> my number</p>
<div class="provider-info">
<div>
<label>Current Number: <span>*</span></label>
<input type="text" placeholder="e.g. (555) 555-5555"/>
</div>
<div>
<label>Current Provider: <span>*</span></label>
<input type="text" placeholder="e.g. Verizon"/>
</div>
</div>
</div>
</div>
</div>
这应该可以完成工作:
$('.radial-container').on('click', function() {
$(this).addClass('select')
.siblings('.radial-container')
.removeClass('select')
.find('.provider-info')
.slideUp(300);
$('.provider-info', this).slideDown(300);
});
固定演示:$(function() {
$('.radial-container').on('click', function() {
$(this).addClass('select')
.siblings('.radial-container')
.removeClass('select')
.find('.provider-info')
.slideUp(300);
$('.provider-info', this).slideDown(300);
});
});
.phn-option-container {
display:block;
}
.phn-unl {
position:relative;
margin:40px 0;
}
.phn-unl:after {
content:'';
display:block;
position:relative;
background:#e8e8e8;
height:1px;
top:30px;
clear:both;
}
.radial-container {
display:block;
cursor: pointer;
clear:both;
}
.phn-radio-container {
margin:10px;
clear:both;
}
.phn-unl > h4 {
position:relative;
left:10px;
font-weight:600;
color:#22ddc0;
}
.radial-container p {
position:relative;
float:left;
left:25px;
top:17px;
color:#787878;
}
.radial-container.select .phn-radial .phn-center-dot {
display:block;
}
.phn-radial {
position:relative;
float:left;
height:35px;
width:35px;
padding:2px;
margin:10px 0;
border:5px solid #e8e8e8;
border-radius:50%;
left:10px;
clear:both;
cursor:pointer;
}
.phn-center-dot {
display:none;
position:relative;
height:21px;
width:21px;
background-color:#E16E5B;
border-radius:50%;
}
.provider-info label {
color:#787878;
margin:25px 0 0 60px;
}
.provider-info label span {
position:relative;
color:#E16E5B;
top:-3px;
}
.provider-info input {
background-color:transparent;
border-width:0 0 2px;
border-color:#787878;
border-radius:0;
margin-left:10px;
width:270px;
font-size:16px;
}
::-webkit-input-placeholder {
font-style: italic;
}
:-moz-placeholder {
font-style: italic;
}
::-moz-placeholder {
font-style: italic;
}
:-ms-input-placeholder {
font-style: italic;
}
.provider-info input:focus {
border-color:#22ddc0;
outline:0;
}
.provider-info {
display:none;
clear:both;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div class="phn-option-container">
<div class="phn-unl" data-unl-line="1">
<h4>Unlimited Line 1</h4>
<div class="radial-container select">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like a <strong>new</strong> number</p>
</div>
<div class="radial-container">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like to <strong>keep</strong> my number</p>
<div class="provider-info">
<div>
<label>Current Number: <span>*</span></label>
<input type="text" placeholder="e.g. (555) 555-5555"/>
</div>
<div>
<label>Current Provider: <span>*</span></label>
<input type="text" placeholder="e.g. Verizon"/>
</div>
</div>
</div>
</div>
<div class="phn-unl" data-unl-line="2">
<h4>Unlimited Line 2</h4>
<div class="radial-container select">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like a <strong>new</strong> number</p>
</div>
<div class="radial-container">
<div class="phn-radial">
<div class="phn-center-dot"></div>
</div>
<p>I would like to <strong>keep</strong> my number</p>
<div class="provider-info">
<div>
<label>Current Number: <span>*</span></label>
<input type="text" placeholder="e.g. (555) 555-5555"/>
</div>
<div>
<label>Current Provider: <span>*</span></label>
<input type="text" placeholder="e.g. Verizon"/>
</div>
</div>
</div>
</div>
</div>
你想要使用(美元)。else块里也有孩子吗?
$(this).children('.provider-info').slideDown(300);
} else {
$(this).children('.provider-info').slideUp(300);
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)