之前可能会问这个问题。但是我找不到错误。这是来自新波士顿的视频教程。
$(document).ready(function(){
$('#btn').toggle(function(){
$('#msg').html('yes');
},function(){
$('#msg').html('No');
});
});
视频显示,首次点击div文字为是,下次显示否 但是当我尝试时,当页面加载时,按钮淡出和div显示否。为什么?可能还有其他方法可以实现此功能。但为什么这不起作用。他将切换的语法显示为
$('#btn').toggle(function(){code},function{code});
答案 0 :(得分:12)
http://api.jquery.com/category/deprecated/
注意:此方法签名在jQuery 1.8中已弃用并已删除 在jQuery 1.9中。 jQuery还提供了一个名为的动画方法 .toggle()切换元素的可见性。是否 动画或触发的事件方法取决于参数集 过去了。
http://api.jquery.com/toggle-event/
OP发表评论后更新
如果你想让这段代码适用于任何版本的jQuery
$(document).ready(function () {
var arr = ['yes', 'no'],
i = 0;
$('#btn').click(function () {
$('#msg').html(arr[i++ % 2]);
});
});
如果你想在将来使用toggle-event
类似的功能
使用.one()
$(document).ready(function () {
function handle1() {
$('#msg').html('yes');
$('#btn').one('click', handle2);
}
function handle2() {
$('#msg').html('no');
$('#btn').one('click', handle1);
}
$('#btn').one('click', handle1);
});
或强>
切换为removed in version 1.9,因此您无法使用它 - 如果您希望手动实施此逻辑,或者您可以使用migration plugin
包含迁移插件,包含jQuery库添加
之后<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>