我有一个效果,当单击按钮时 html/span 将滑出。这个工作得很好。然后,当我希望用户单击按钮或 html/span 外部时,html/span 将隐藏。隐藏部分也可以工作,但是当我再次尝试该过程时,我必须双击按钮才能显示幻灯片效果。我怀疑我的顺序错误或者......有人可以帮助我吗?
$(document.body).ready(function () {
$(".comment_function").on("click", function () {
$(".comment_confirm").show(400,"linear");
});
$(document.body).on("click", function () {
if (!$(".comment_function").closest(".comment_confirm").length) {
if ($(".comment_confirm").is(":visible") ) {
$(".comment_confirm").hide();
}
}
});
});
不知道为什么代码不能在 fiddle 中工作,但它非常接近我现在的
Fiddle
最佳答案
只需监听document
中的点击事件并检查点击的元素是否为.one
。如果是,则显示 .two
否则隐藏它。
$(document).on('click', function (e) {
var t = $(e.target);
if (t.hasClass('one')) {
$('.two').show(400, 'linear');
} else {
$('.two').hide();
}
});
关于jquery show hide 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25469459/