我试图让我的页脚在移动设备上消失,并且仅在键盘打开时消失。我工作得很好,但问题是在键盘有时间关闭之前页脚重新出现。这是因为我使用文本框中的事件而不是键盘被打开。所以我认为解决这个问题的最佳方法是.delay()
但是,这根本不起作用。有人有任何想法吗?
<script>
var isMobileView = false; //global variable
$(document).ready(function () {
function setScreenWidthFlag() {
var newWindowWidth = $(window).width();
if ( $(window).width() > 600) {
isMobileView = false;
}
else {
isMobileView = true;
}
}
$(".tbinputArea").focus(function() {
if(isMobileView)
$("#footer").hide();
});
$(".tbinputArea").focusout(function() {
if(isMobileView)
$("#footer").delay(500).show();
});
setScreenWidthFlag();
$(window).on("resize", function (e) {
setScreenWidthFlag();
});
});
</script>
答案 0 :(得分:2)
$("#footer").delay(500).show(0);
试试这个。
答案 1 :(得分:0)
参考这个解释,准确地解释了它的原因http://www.mattlunn.me.uk/blog/2012/06/jquery-delay-not-working-for-you/
延迟仅用于队列延迟而不是任何事件延迟,因此尝试在fadeIn或类似内容中添加一些事件。