如何隐藏同位素中的 "all" 部分
How to hide "all" sections in isotope
我对这个同位素有疑问,我想当你启动网站时,只显示文本 1,而不是像现在这样。我不知道怎么做,你能帮我吗?
// ISOTOPE FILTER
jQuery(document).ready(function($){
if ( $('.iso-box-wrapper').length > 0 ) {
var $container = $('.iso-box-wrapper'),
$imgs = $('.iso-box img');
$container.imagesLoaded(function () {
$container.isotope({
layoutMode: 'fitRows',
itemSelector: '.iso-box'
});
$imgs.load(function(){
$container.isotope('reLayout');
})
});
//filter items on button click
$('.filter-wrapper li a').click(function(){
var $this = $(this), filterValue = $this.attr('data-filter');
$container.isotope({
filter: filterValue,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return false;
}
var filter_wrapper = $this.closest('.filter-wrapper');
filter_wrapper.find('.selected').removeClass('selected');
$this.addClass('selected');
return false;
});
}
});
这是我的代码html
<!-- portfolio section -->
<div id="portfolio">
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="title">
<h2>Regulations</h2>
</div>
<!-- ISO section -->
<div class="iso-section">
<ul class="filter-wrapper clearfix">
<li><a href="#" class="opc-main-bg selected" data-filter=".regulation">Regulation</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".regulation2">Regulation 2</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".regulation3">Regulation 3</a></li>
</ul>
<div class="iso-box-section">
<div class="iso-box-wrapper col4-iso-box">
<div class="iso-box regulation">
<h3>
TEXT 1
</h3>
<br>
</div>
<div class="iso-box regulation2">
<h3>
this is TEXT 2
</h3>
<br>
</div>
<div class="iso-box regulation3">
<h3>
and there's TEXT 3
</h3>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
这是目前的情况。
这就是我想要的结果
这段代码在这个网站上运行得不是很好,因为它需要额外的 JavaScript 才能像我希望的那样运行。
基本上,您希望在加载页面时过滤 内容。因此,只需告诉第一次初始化 Isotope 以根据字符串过滤项目即可。
执行此操作的一种方法是将过滤器直接硬编码到您第一次调用 Isotope 时,但我建议获取可用过滤器的第一个值并使用它。如果您要添加或删除过滤器,这将允许您更改 HTML 而无需更改 JavaScript。
// ISOTOPE FILTER
jQuery(document).ready(function($) {
if ($('.iso-box-wrapper').length > 0) {
var $container = $('.iso-box-wrapper'),
$imgs = $('.iso-box img'),
$filters = $('.filter-wrapper li a');
$container.imagesLoaded(function() {
// Get the value of the first filter.
var initialFilter = $filters.first().attr('data-filter');
$container.isotope({
filter: initialFilter,
layoutMode: 'fitRows',
itemSelector: '.iso-box',
});
$imgs.load(function() {
$container.isotope('reLayout');
})
});
//filter items on button click
$filters.click(function() {
var $this = $(this),
filterValue = $this.attr('data-filter');
$container.isotope({
filter: filterValue,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
// don't proceed if already selected
if ($this.hasClass('selected')) {
return false;
}
var filter_wrapper = $this.closest('.filter-wrapper');
filter_wrapper.find('.selected').removeClass('selected');
$this.addClass('selected');
return false;
});
}
});
我对这个同位素有疑问,我想当你启动网站时,只显示文本 1,而不是像现在这样。我不知道怎么做,你能帮我吗?
// ISOTOPE FILTER
jQuery(document).ready(function($){
if ( $('.iso-box-wrapper').length > 0 ) {
var $container = $('.iso-box-wrapper'),
$imgs = $('.iso-box img');
$container.imagesLoaded(function () {
$container.isotope({
layoutMode: 'fitRows',
itemSelector: '.iso-box'
});
$imgs.load(function(){
$container.isotope('reLayout');
})
});
//filter items on button click
$('.filter-wrapper li a').click(function(){
var $this = $(this), filterValue = $this.attr('data-filter');
$container.isotope({
filter: filterValue,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return false;
}
var filter_wrapper = $this.closest('.filter-wrapper');
filter_wrapper.find('.selected').removeClass('selected');
$this.addClass('selected');
return false;
});
}
});
这是我的代码html
<!-- portfolio section -->
<div id="portfolio">
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="title">
<h2>Regulations</h2>
</div>
<!-- ISO section -->
<div class="iso-section">
<ul class="filter-wrapper clearfix">
<li><a href="#" class="opc-main-bg selected" data-filter=".regulation">Regulation</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".regulation2">Regulation 2</a></li>
<li><a href="#" class="opc-main-bg" data-filter=".regulation3">Regulation 3</a></li>
</ul>
<div class="iso-box-section">
<div class="iso-box-wrapper col4-iso-box">
<div class="iso-box regulation">
<h3>
TEXT 1
</h3>
<br>
</div>
<div class="iso-box regulation2">
<h3>
this is TEXT 2
</h3>
<br>
</div>
<div class="iso-box regulation3">
<h3>
and there's TEXT 3
</h3>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
这是目前的情况。
这就是我想要的结果
这段代码在这个网站上运行得不是很好,因为它需要额外的 JavaScript 才能像我希望的那样运行。
基本上,您希望在加载页面时过滤 内容。因此,只需告诉第一次初始化 Isotope 以根据字符串过滤项目即可。
执行此操作的一种方法是将过滤器直接硬编码到您第一次调用 Isotope 时,但我建议获取可用过滤器的第一个值并使用它。如果您要添加或删除过滤器,这将允许您更改 HTML 而无需更改 JavaScript。
// ISOTOPE FILTER
jQuery(document).ready(function($) {
if ($('.iso-box-wrapper').length > 0) {
var $container = $('.iso-box-wrapper'),
$imgs = $('.iso-box img'),
$filters = $('.filter-wrapper li a');
$container.imagesLoaded(function() {
// Get the value of the first filter.
var initialFilter = $filters.first().attr('data-filter');
$container.isotope({
filter: initialFilter,
layoutMode: 'fitRows',
itemSelector: '.iso-box',
});
$imgs.load(function() {
$container.isotope('reLayout');
})
});
//filter items on button click
$filters.click(function() {
var $this = $(this),
filterValue = $this.attr('data-filter');
$container.isotope({
filter: filterValue,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
// don't proceed if already selected
if ($this.hasClass('selected')) {
return false;
}
var filter_wrapper = $this.closest('.filter-wrapper');
filter_wrapper.find('.selected').removeClass('selected');
$this.addClass('selected');
return false;
});
}
});