如何判断一段jquery代码已经执行过了

 我来答
就烦条0o
2017-01-02 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46494
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
然后来回答你的问题,你的问题无非是想知道 DIV 的状态,是收起的还是展开的。那么只需要在完成 slideUp 之后赋予它一个状态标记就好。在 jQuery 中,赋予状态标记的办法很多,常见方法有3个

使用 $("#flip").data()
使用 $("#flip").attr()
使用 $("#flip").addClass() 设置和 $("#flip").is(".yourClassName") 判断

第3个通常在需要配合 CSS 设置样式时使用。

然后看文档,slideUp 的两种调用方式都提供了 complete 回调,所以可以在回调中设置状态。
$("#flip").slideUp("fast", function() {
$("#flip").addClass("up");
});

然后你的 click 事件可以写成
$("#stop").on("click", function() {
var $flip = $("#flip");
if ($flip.is(".up")) {
$flip.slideDown("fast", function() {
$flip.removeClass("up");
});
} else {
$flip.slideUp("fast", function() {
$flip.addClass("up");
});
}
});

当然也不可以不用 complete 回调,直接在开始之前就设置好

$("#stop").on("click", function() {
var $flip = $("#flip");
if ($flip.is(".up")) {
$flip.removeClass("up");
$flip.slideDown("fast");
} else {
$flip.addClass("up");
$flip.slideUp("fast");
}
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式