それが私がソートしようとしているコードです。クラス終了でdivを非表示にし、「1265以上」ボタンをクリックして再度表示するには、すべてのボタンが必要です。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Combination filters · Isotope Demo</title>
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<link rel="stylesheet" href="../css/style.css" />
<!-- scripts at bottom of page -->
</head>
<body class="demos ">
<section id="content">
<h1>Find your topload Tester</h1>
<h3>Customize your datasheet according to your sample's dimensions</h3>
<section id="options" class="clearfix combo-filters">
<div class="option-combo height">
<h4>Height (mm)</h4>
<ul class="filter option-set clearfix " data-filter-group="height">
<li><a id="all" href="#filter-height-any" data-filter-value="*" class="selected">All</a>
<li><a href="#filter-height-525" data-filter-value=".525">525 or less</a>
<li><a href="#filter-height-645" data-filter-value=".645">645 or less</a>
<li><a href="#filter-height-1265" data-filter-value=".1265">more than 1265</a>
</ul>
</div>
<br>
<br>
<div class="option-combo width">
<h4>Width (mm)</h4>
<ul class="filter option-set clearfix " data-filter-group="width">
<li><a id="all" href="#filter-width-any" data-filter-value="" class="selected">All</a>
<li><a href="#filter-width-134" data-filter-value=".134w">134 or less</a>
<li><a href="#filter-width-190" data-filter-value=".190w">190 or less</a>
<li><a href="#filter-width-290" data-filter-value=".290w">290 or less</a>
<li><a href="#filter-width-328" data-filter-value=".328w">328 or less</a>
<li><a href="#filter-width-420" data-filter-value=".420w">420 or more</a>
</ul>
</div>
<br>
<br>
<div class="option-combo depth">
<h4>Depth (mm)</h4>
<ul class="filter option-set clearfix " data-filter-group="depth">
<li><a id="all" href="#filter-depth-any" data-filter-value="" class="selected">All</a>
<li><a href="#filter-depth-134" data-filter-value=".134d">134 or less</a>
<li><a href="#filter-depth-190" data-filter-value=".190d">190 or less</a>
<li><a href="#filter-depth-290" data-filter-value=".290d">290 or less</a>
<li><a href="#filter-depth" data-filter-value=".328d">328 or less</a>
<li><a href="#filter-depth-420" data-filter-value=".420d">420 or more</a>
</ul>
</div>
<br>
<br>
<div class="option-combo load">
<h4>Load (kN) </h4>
<ul class="filter option-set clearfix " data-filter-group="load">
<li><a id="all" href="#filter-load-any" data-filter-value="" class="selected">All</a>
<li><a href="#filter-load-2.5" data-filter-value=".2-5l">2.5 or less</a>
<li><a href="#filter-load-5" data-filter-value=".5l">5 or less</a>
<li><a href="#filter-load-10" data-filter-value=".10l">10 or less</a>
<li><a href="#filter-load-25" data-filter-value=".25l">25 or less</a>
<li><a href="#filter-load-50" data-filter-value=".50l">50 or more</a>
</ul>
</div>
</section> <!-- #options -->
<div id="container" class="clearfix">
<div id="data1" class="width-height-depth 525 134w 290w 290d 134d 2-5l blue">Datasheet1</div>
<div id="data2" class="width-height-depth 645 190w 328w 328d 190d 5l">Datasheet2</div>
<div id="data3" class="width-height-depth 50l 25l 10l ">Datasheet3</div>
<div id="exit" class="width-height-depth 1265">This configuration is beyond the standard range of top-load testers. Please contact Mecmesin Sales to discuss ways to meet your requirements</div>
</div> <!-- #container -->
<script src="../js/jquery-1.7.1.min.js"></script>
<script src="../jquery.isotope.min.js"></script>
<script>
$(function(){
var $container = $('#container'),
filters = {};
$container.isotope({
itemSelector : '.width-height-depth',
masonry: {
columnWidth: 80
},
filter: '#data1,#data2 , #data3'
});
// filter buttons
$('.filter a').click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return;
}
var $optionSet = $this.parents('.option-set');
// change selected class
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// store filter value in object
// i.e. filters.color = 'red'
var group = $optionSet.attr('data-filter-group');
filters[ group ] = $this.attr('data-filter-value');
// convert object into array
var isoFilters = [];
for ( var prop in filters ) {
isoFilters.push( filters[ prop ] )
}
var selector = isoFilters.join('');
$container.isotope({ filter: selector });
return false;
});
});
</script>
<footer>
<p>If you cant find what you are looking for blah blah blah....</p>
</footer>
</section> <!-- #content -->
</body>
</html>
私はあなたの解決策を試しました。ほとんど機能していますが、「1265 以上」ボタンを押すと、テキストが再び表示されません。display:none プロパティが適用されているようです。