私は基本的に、ブラウザウィンドウまたは画面幅が特定の数値を下回ったときに、石工スクリプトのレイアウトを変更しようとしています。ブラウザの幅を変更したときに(リアルタイムで)応答するようにしたいのですが、現時点では壊れています。また、何らかの理由で、最初にロードされたスクリプトのみが機能します。Masonry の isResizable:true オプションを既にテストしましたが、必要な効果が得られません。誰でも修正を提供できますか?これは Masonry のページです。誰かがこのページに関する解決策を見つけるのを手伝ってくれるかどうか疑問に思っています: http://masonry.desandro.com/docs/methods.html
これが私のコードです:
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);