我有两种不同的函数可以根据屏幕大小调用。我叫他们准备的功能是这样的:在窗口调用中调用相同的函数并调整窗口大小
$(document).ready(function() {
var $window = $(window);
var $window_width = $(window).width();
if ($window_width < 768) {
faq_mobile();
} else {
faq();
}
});
但我想再次打电话给他们上的窗口大小调整事件,因为功能没有那么叫。所以我写了这一点:
$(window).bind('resize', function(e) {
window.resizeEvt;
$(window).resize(function() {
clearTimeout(window.resizeEvt);
window.resizeEvt = setTimeout(function() {
if ($(window).width() < 768) {
faq_mobile();
} else {
faq();
}
}, 250);
});
});
但是,这并不正确,因为该功能常见问题和faq_mobile已多次调用,当我调整窗口的工作。这种情况下最好的解决方案是什么?
现在有一个反弹是很好的。 'if(window.resizeEvt){clearTimeout(window.resizeEvt);}'你应该把它包含在这个条件中,否则它会抛出错误。检查控制台日志。 – Jai
只需将您的代码放入单独的函数中,然后将该函数设置为resize事件处理程序和就绪事件处理程序! –