jQueryでデータを受け渡しで動作が・・・。
jQueryでデータを受け渡しで動作がどうしてもうまくいきません。
<li>タグにjsonデータを呼び出して表示しています。
それで別の処理のデータを加えるとどうしても最大6行表示の方が機能しなくなってしまいどうしたらうごくのでしょうか?
普通においただけではダメなのでしょうか?
<script type="text/javascript">
jQuery(function(){
$.getJSON("./json_sql.php",function(data){
$.each(data,function(i,items){
$("<li/>",{
text : items.category+' '+ items.date+' '+items.content,
'class' : items.category,
}).appendTo('ul','#portfolio');
});
});
});
$(document).ready(function() {
var max = 6 /* 最大表示数 */
var mx = ':lt(' + max + ')',
pf = $('#portfolio li');
pf.filter(':not(' + mx + ')').hide();
$('#navi a').click(function(){
var filterVal = '.' + $(this).text().toLowerCase().replace(' ', '-');
if(filterVal=='.all') filterVal = '*';
pf.filter(':visible').fadeOut('fast', function(){
pf.filter(filterVal + mx).fadeIn('slow');
});
});
});
</script>
<div id="main">
<ul id="navi" class="tab">
<li class="all"><a href="#" onclick="document.getElementById('samplebox').style.backgroundColor = '#e2260d';">ALL</a></li>
<li class="topix"><a href="#" onclick="document.getElementById('samplebox').style.backgroundColor = '#0f639f';">topix</a></li>
<li class="cleaning"><a href="#" onclick="document.getElementById('samplebox').style.backgroundColor = '#0e99b0';">cleaning</a></li>
<li class="insurance"><a href="#" onclick="document.getElementById('samplebox').style.backgroundColor = '#0ea653';">insurance</a></li>
</ul>
<div id="samplebox"></div>
<div class="content">
<ul id="portfolio"></ul>
</div>
<!--/ .main-->
</div>
お礼
回答ありがとうございました。フラグを立てるやり方がわからなかったので 参考になりました。感謝します^^