我基本上試圖在瀏覽器窗口或屏幕寬度低於某個數字時更改砌體腳本的佈局。當您更改瀏覽器寬度時,我希望它對(實時)做出響應,但此時它會中斷。另外,由於某種原因,只有首先加載的腳本才能工作。我已經測試過Masonry的isResizable:true選項,但它沒有得到我想要的效果。任何人都可以提供修復嗎?這是砌體的頁面,想知道是否有人能幫助找到關於此頁面的解決方案:http://masonry.desandro.com/docs/methods.html砌體:當找到新的屏幕寬度或窗口寬度時,如何更改columnWidth選項?
這裏是我的代碼:
function checkWidth() {
var winW = $(window).width();
var Body = $('body');
alert(0)
if (screen.width >= 1225 || winW >= 1225) {
$(document).ready(function() {
alert(1)
Body.css({ 'background-color':'red' });
// masonry
$(function(){
var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.box',
gutterWidth: 8,
columnWidth: 146
});
});
});
});
}
// Start second IF statement
if (screen.width <= 1224 || winW <= 1224) {
$(document).ready(function() {
alert(2)
Body.css({ 'background-color':'blue' });
// masonry
$(function(){
var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.box',
gutterWidth: 8,
columnWidth: 113
});
});
});
});
}
}
$(document).ready(checkWidth);
$(document).resize(checkWidth);
編輯============== =
更新代碼:
function checkWidth() {
var winW = $(window).width();
var Body = $('body');
alert(0)
if (screen.width >= 1225 || winW >= 1225) {
alert(1)
Body.css({ 'background-color':'red' });
// masonry
var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.box',
gutterWidth: 8,
columnWidth: 146
});
});
}
// Start second IF statement
if (screen.width <= 1224 || winW <= 1224) {
alert(2)
Body.css({ 'background-color':'blue' });
// masonry
var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.box',
gutterWidth: 8,
columnWidth: 113
});
});
}
}
$(document).ready(checkWidth);
$(document).resize(checkWidth);
我該怎麼做呢?我應該刪除該行:$(document).resize(checkWidth); ? – egr103 2012-02-08 11:30:28
我編輯了我的答案。 – MMM 2012-02-08 11:35:28
爲此歡呼。那麼我已經實現了代碼,但現在當我調整瀏覽器的大小時,它完全崩潰了。佈局中斷,當我刷新時什麼也沒有顯示。我認爲它的石工插件的第二個號召現在這個問題,不知道到底什麼是誠實的。任何指針? – egr103 2012-02-08 11:52:54