如果我们're处于默认状态,并且没有选择其他选项,则不执行任何操作.如果从其他选项中恢复到默认值,请采取措施
if we're at default and no other options were chosen, do nothing. if were back at default from other options, do something
我有一个默认值2 var items = [2]
和单击事件,该事件根据单击情况将值从2来回更改为3。由于默认值是2,所以当用户单击li中的2选项时,应该不会发生任何事情(这就是我想要的),因为不需要进行任何更改。只有当用户单击任何其他选项时,他们才能单击2选项来使用2功能(他们可以单击它,但不会出现任何功能)。我想我需要逻辑的帮助
$(document).ready( function(){
var items = [2]
$('ul > li > span').on('click', function(e){
if($(this).siblings("ul").is(":visible")){
$(this).siblings("ul").slideUp("fast")
}else{
$(this).siblings("ul").slideDown("fast")
}
})
$('ul.adding li ul li').on("click" , function(e){
if($(e.target).hasClass('twoItems')){
if(items[0] !== 2){
//this is messed up
items[0] = 2
$('.output').append(items[0])
}else{
$('.output').append(items[0])
}
}
if($(e.target).hasClass('threeItems')){
items[0] = 3
$('.output').append(items[0])
}
console.log(items)
})
$('.output').append(items[0])
});
html:
<div class="container">
<ul class = "adding">
<li><span class = "span">Add</span> <ul>
<li class="twoItems">Two Item</li>
<li class = "threeItems">three items</li>
</ul></li>
</ul>
</div>
<div class="output"></div>
尝试从$('ul.adding li ul li').on("click"
处理程序中删除else
语句
$(document).ready(function() {
var items = [2]
$('ul > li > span').on('click', function(e) {
if ($(this).siblings("ul").is(":visible")) {
$(this).siblings("ul").slideUp("fast")
} else {
$(this).siblings("ul").slideDown("fast")
}
})
$('ul.adding li ul li').on("click", function(e) {
if ($(e.target).hasClass('twoItems')) {
if (items[0] !== 2) {
items[0] = 2
$('.output').append(items[0])
}
}
if ($(e.target).hasClass('threeItems')) {
items[0] = 3
$('.output').append(items[0])
}
console.log(items)
})
$('.output').append(items[0])
});
<div class="container">
<ul class="adding">
<li><span class="span">Add</span>
<ul>
<li class="twoItems">Two Item</li>
<li class="threeItems">three items</li>
</ul>
</li>
</ul>
</div>
<div class="output"></div>
<div class="output"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="container">
<ul class="adding">
<li><span class="span">Add</span>
<ul>
<li class="twoItems">Two Item</li>
<li class="threeItems">three items</li>
</ul>
</li>
</ul>
</div>
<div class="output"></div>
相关文章:
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 角度引导选项卡ng如果错误
- 如果选项被禁用,则多个下拉菜单会导致FIREFOX出现问题
- 如果使用jquery在页面加载时未选择任何选项,如何禁用下拉列表
- 如果第一次选择中的选项1,则第二次选择被禁用
- 如果选项值是“改变列表不起作用”;真的”;
- 验证 HTML 表单输入 - 如果选项卡无效,则阻止选项卡
- 如果选项值已存在,请禁用选择选项
- 如果选项卡已经存在,如何防止插入该选项卡
- 如果选项卡类具有活动类,则使选项卡处于活动状态
- 如果选项没有选择语句
- 删除选项绑定:如果选项被选中,如何从弹出框中动态删除选项
- jQuery UI选项卡-事件处理程序不添加,如果选项卡左并切换回
- 如果选项卡淡出,则重定向
- 如果选项卡是第一个,则禁用previous按钮
- 如果选项值存在,禁用选择输入
- jQuery Mobile:自动添加滚动条,如果选项列表太长
- 下拉菜单-要显示的类的Javascript:如果选项卡类打开或关闭,则为none(可折叠面板)
- 如果选项卡关闭事件,则打开新的弹出窗口
- 如果选项“全部”,则无法取消多选的所有选项.被选中