[英]How do I stop toggle button loop based on button value?
我有一个带按钮的切换菜单,该按钮可以更改值。 我正在尝试停止切换循环,以便当value =“ thank you”&单击按钮时它不会切换。
https://jsfiddle.net/9882acxn/
CSS:
#container {height: 200px; width: 200px; position: relative; background: red;}
jQuery的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
jQuery(document).ready(function () {
$("#container").hide();
$("#button").on('click', function() {
if($("#container").is(":visible"))
return false;
$("#container").toggle();
this.value = this.value == 'send message' ? 'contact' : 'send message';
});
$("#button2").on('click', function() {
$("#container").toggle();
$("#button").val('thank you');
if($("#button").val('thank you'))
return false;
});
});
</script>
HTML:
<input type="button" id="button" value="contact" />
<br />
<div id="container">
<input type="button" id="button2" value="send" /></div>
方法1
如果您在发送消息后完成操作,只需取消绑定click事件。
$("#button").unbind('click');
工作示例: https : //jsfiddle.net/9882acxn/1/
方法2
您可以在$("#button").click
添加以下条件
if($("#button").val() == 'thank you')
return false;
工作示例: https : //jsfiddle.net/9882acxn/3/
将if($("#button").val('thank you'))
更改为if($("#button").val().equals('thank you'))
.equals(),因为字符串在大多数语言中都是不可变的(我忘了==
可在js中使用)。
还对语句重新排序:
$("#button2").on('click', function() {
if($("#button").val('thank you'))
return false;
$("#container").toggle();
$("#button").val('thank you');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.