Javascript 同位素响应4,3,2,1布局
我用同位素做了一个全宽的网格系统。我已经让它工作,因为我希望,但有一些问题与响应元素。我想对系统采取4,3,2,1的方法,例如4项用于桌面,3项用于平板电脑,2项用于暴徒景观,1项用于暴徒肖像 无论我尝试什么,我都会在调整大小时得到奇怪的布局。我能做的最接近它的工作是使用下面的代码,但是当调整窗口大小时,有时元素落在新行上,并在网格之间造成巨大的间隙。我希望网格是无缝的 这是我的代码:Javascript 同位素响应4,3,2,1布局,javascript,jquery,jquery-isotope,Javascript,Jquery,Jquery Isotope,我用同位素做了一个全宽的网格系统。我已经让它工作,因为我希望,但有一些问题与响应元素。我想对系统采取4,3,2,1的方法,例如4项用于桌面,3项用于平板电脑,2项用于暴徒景观,1项用于暴徒肖像 无论我尝试什么,我都会在调整大小时得到奇怪的布局。我能做的最接近它的工作是使用下面的代码,但是当调整窗口大小时,有时元素落在新行上,并在网格之间造成巨大的间隙。我希望网格是无缝的 这是我的代码: <script> var $container = $('#isotope')
<script>
var $container = $('#isotope')
$container.imagesLoaded( function(){
$('#isotope').isotope({
// options
animationEngine : 'best-available',
layoutmode: 'masonry',
filter: '.all-header, .project, .clients, .news, .blog'
});
});
// initialize Isotope
$container.isotope({
// options...
resizable: true, // disable normal resizing
// set columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 25 }
});
// update columnWidth on window resize
$(window).smartresize(function(){
$container.isotope({
// update columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 25 }
});
});
var $optionSets = $('#filter_bar .option-set'),
$optionLinks = $optionSets.find('a');
$optionLinks.click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return false;
}
var $optionSet = $this.parents('.option-set');
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// make option object dynamically, i.e. { filter: '.my-filter-class' }
var options = {},
key = $optionSet.attr('data-option-key'),
value = $this.attr('data-option-value');
// parse 'false' as false boolean
value = value === 'false' ? false : value;
options[ key ] = value;
if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) {
// changes in layout modes need extra logic
changeLayoutMode( $this, options )
} else {
// otherwise, apply new options
$container.isotope( options );
}
return false;
});
</script>
var$container=$(“#同位素”)
$container.imagesLoaded(函数(){
$('同位素')。同位素({
//选择权
animationEngine:“最佳可用”,
布局模式:“砌体”,
筛选器:'.all header、.project、.clients、.news、.blog'
});
});
//初始化同位素
$container.com({
//选项。。。
可调整大小:true,//禁用正常调整大小
//将columnWidth设置为容器宽度的百分比
砌体:{columnWidth:$container.width()/25}
});
//在调整窗口大小时更新columnWidth
$(窗口)。smartresize(函数(){
$container.com({
//将columnWidth更新为容器宽度的百分比
砌体:{columnWidth:$container.width()/25}
});
});
var$optionSets=$(“#过滤器_栏.选项集”),
$optionLinks=$optionSets.find('a');
$optionLink.单击(函数(){
var$this=$(this);
//如果已选择,则不继续
if($this.hasClass('selected')){
返回false;
}
var$optionSet=$this.parents('.option set');
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
//动态生成选项对象,即{filter:'.my filter class'}
var options={},
key=$optionSet.attr('data-option-key'),
value=$this.attr('data-option-value');
//将“false”解析为false布尔值
值=值=='false'?false:值;
选项[键]=值;
if(键=='layoutMode'&&typeof changeLayoutMode==='function'){
//布局模式的更改需要额外的逻辑
changeLayoutMode($this,options)
}否则{
//否则,请应用新选项
$container.同位素(可选);
}
返回false;
});
我想我有一个解决方案,我在这里已经回答了
希望有帮助