這將抓住從指定的文件中的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);
});
一旦resize事件已經結束(或暫停100毫秒),這將只運行,這意味着你將不會創建噸的過程AJAX請求。您也可以設置一個標誌,以便您不會一次運行多個請求,該標誌可以在方法的回調函數中解析。
你是什麼意思「包括一個或另一個」?你總是可以在分段頁面使用JS獲得屏幕分辨率,然後重定向到其中一個,不是? – 2012-07-10 21:17:42