jquery.quicksand.jsを使ってliタグコンテンツをアニメーションソートする方法をご紹介します。
liタグコンテンツをカテゴリー毎に数を増減させてアニメーションソートする時に使用しました。
Contents
ディスプレイ広告
liタグコンテンツをアニメーションソートするjquery.quicksand.jsファイルを読み込む
※jquery.min.js(v1.6.2)、jquery.quicksand.jsファイルを読み込みます。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="jquery.quicksand.js" type="text/javascript"></script>
liタグコンテンツをアニメーションソートするCSSの記述
※アニメーションソートさせるため「li」「.Sbox」「.Sbox li」タグを用意する必要(調整可)があります。
<style type="text/css">
<!--
body {
margin: 0px;
font-size:14px;
}
h1{
font-size:16px;
font-weight:normal;
line-height:1.2em;
text-align:center;
padding-bottom:15px;
}
li{list-style-type: none;}
a{
font-size:14px;
text-decoration:none;
line-height:1.4em;
}
a:hover{
font-size:14px;
text-decoration:underline;
line-height:1.4em;
}
#idWrap{
width:300px;
margin:0 auto;
text-align:center;
}
.Sbox {
overflow: hidden;
}
.Sbox li{
display: block;
float: left;
width:50px;
height:50px;
margin: 0;
padding:4px;
}
-->
</style>
liタグコンテンツをアニメーションソートするHTMLとJavaScriptの記述
※ソート対象のliコンテンツの下にJavaScriptを記述してます。$(ソートエリア).quicksand( liタグ, {演出オプション} )で設定します。
また、上記方法はソート内容を以下の別ファイル(index1.html、index2.html、index3.html)に別けて設定します。
<h1>liタグコンテンツを複数(別ページ)に別けて、アニメーションソート表示</h1>
<div id="idWrap">
<a class="button" href="index1.html">ソート1(降順)</a><br>
<a class="button" href="index2.html">ソート2(昇順)</a><br>
<a class="button" href="index3.html">ソート3(半分の昇順)</a>
<br> <br>
<ul class="Sbox">
<li data-id="01"><img src="img1.jpg" width="50" height="50" alt=""></li>
<li data-id="02"><img src="img2.jpg" width="50" height="50" alt=""></li>
<li data-id="03"><img src="img3.jpg" width="50" height="50" alt=""></li>
<li data-id="04"><img src="img4.jpg" width="50" height="50" alt=""></li>
<li data-id="05"><img src="img5.jpg" width="50" height="50" alt=""></li>
<li data-id="06"><img src="img6.jpg" width="50" height="50" alt=""></li>
<li data-id="07"><img src="img7.jpg" width="50" height="50" alt=""></li>
<li data-id="08"><img src="img8.jpg" width="50" height="50" alt=""></li>
<li data-id="09"><img src="img9.jpg" width="50" height="50" alt=""></li>
<li data-id="10"><img src="img10.jpg" width="50" height="50" alt=""></li>
</ul>
<script type="text/javascript">
$(function() {
$('a.button').click(function(e) {
$.get( $(this).attr('href'), function(data) {
$('.Sbox').quicksand( $(data).find('li'), {adjustHeight: 'dynamic'} );
});
e.preventDefault();
});
});
</script>
降順ソートする別ファイル(index1.html)の記述
<ul class="Sbox">
<li data-id="10"><img src="img10.jpg" width="50" height="50" alt=""></li>
<li data-id="09"><img src="img9.jpg" width="50" height="50" alt=""></li>
<li data-id="08"><img src="img8.jpg" width="50" height="50" alt=""></li>
<li data-id="07"><img src="img7.jpg" width="50" height="50" alt=""></li>
<li data-id="06"><img src="img6.jpg" width="50" height="50" alt=""></li>
<li data-id="05"><img src="img5.jpg" width="50" height="50" alt=""></li>
<li data-id="04"><img src="img4.jpg" width="50" height="50" alt=""></li>
<li data-id="03"><img src="img3.jpg" width="50" height="50" alt=""></li>
<li data-id="02"><img src="img2.jpg" width="50" height="50" alt=""></li>
<li data-id="01"><img src="img1.jpg" width="50" height="50" alt=""></li>
</ul>
昇順ソートする別ファイル(index2.html)の記述
<ul class="Sbox">
<li data-id="01"><img src="img1.jpg" width="50" height="50" alt=""></li>
<li data-id="02"><img src="img2.jpg" width="50" height="50" alt=""></li>
<li data-id="03"><img src="img3.jpg" width="50" height="50" alt=""></li>
<li data-id="04"><img src="img4.jpg" width="50" height="50" alt=""></li>
<li data-id="05"><img src="img5.jpg" width="50" height="50" alt=""></li>
<li data-id="06"><img src="img6.jpg" width="50" height="50" alt=""></li>
<li data-id="07"><img src="img7.jpg" width="50" height="50" alt=""></li>
<li data-id="08"><img src="img8.jpg" width="50" height="50" alt=""></li>
<li data-id="09"><img src="img9.jpg" width="50" height="50" alt=""></li>
<li data-id="10"><img src="img10.jpg" width="50" height="50" alt=""></li>
</ul>
タグ要素を半分にして昇順ソートする別ファイル(index3.html)の記述
<ul class="Sbox">
<li data-id="01"><img src="img1.jpg" width="50" height="50" alt=""></li>
<li data-id="03"><img src="img3.jpg" width="50" height="50" alt=""></li>
<li data-id="05"><img src="img5.jpg" width="50" height="50" alt=""></li>
<li data-id="07"><img src="img7.jpg" width="50" height="50" alt=""></li>
<li data-id="09"><img src="img9.jpg" width="50" height="50" alt=""></li>
</ul>
liタグコンテンツを複数ページに別けて、アニメーションソート表示するデモページ
liタグコンテンツを複数ページに別けて、アニメーションソート表示するデモ
ソース元:jQuery Quicksand plugin
上記「ソース元」では別ファイルにわけず1ページ内で対象のliコンテンツを非表示して、ソートさせてます。
ソート時にアニメーションは「ソース元」のページ下部「Demos&Docs」ページの下にその他設定例が有ります。
※流用される場合は自己責任でお願いします。
デモページタグ内のGoogleアナリティクスタグは流用しないで下さい。
ディスプレイ広告
ディスプレイ広告