这将从指定文件中获取 HTML 并将其加载到容器中:
$(window).on('load', function () {
if ($(this).width() > 320) {
$('#my-container').load('google-320x50.html');
} else {
$('#my-container').load('google-300x250.html');
}
});
这是如果您使用 iframe 来显示外部页面。您需要做的就是更新 iframe 的来源:
$(window).on('load', function () {
if ($(this).width() > 320) {
$('#my-iframe').attr('src', 'google-320x50.html');
} else {
$('#my-iframe').attr('src', 'google-300x250.html');
}
});
这些代码块使用320px 作为显示一个或另一个版本的断点。此外,如果您还想支持窗口大小调整,您可以更改代码以在 window.resize 事件而不是 window.load 事件上运行,但您应该限制它,使其不会运行太频繁。
例如:
var timer = null;
$(window).on('load', function () {
clearTimeout(timer);
timer = setTimeout(function () {
if ($(this).width() > 320) {
$('#my-container').load('google-320x50.html');
} else {
$('#my-container').load('google-300x250.html');
}
}, 100);
});
这只会在调整大小事件完成(或暂停 100 毫秒)后运行,这意味着您不会在此过程中创建大量 AJAX 请求。您还可以设置一个标志,这样您就不会一次运行多个请求,该标志可以在.load() 方法的回调函数中解析。