我有以下脚本:
你能为此提出任何简写吗?还是更优雅的方式来写呢?任何建议都非常感谢。
var CoundNumberOfDivs = $('#portfolio-items li:visible').length;
if( CoundNumberOfDivs <= 4 ) {
$('.pagination li a').hide();
return false;
}
else if( CoundNumberOfDivs <= 8 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(2)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 12 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(3)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 16 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(4)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 20 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(5)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 24 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(6)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 28 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(7)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 32 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(8)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
else if( CoundNumberOfDivs <= 36 ) {
$('.pagination li a').hide();
$('.pagination li a:lt(9)').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
答案 0 :(得分:2)
这是未经测试的,但它乍一看它会起作用。不是所有else if
语句,我只使用一个,并将CoundNumberOfDivs
除以4,将其四舍五入,并在选择器的:lt
部分中使用它:
var CoundNumberOfDivs = $('#portfolio-items li:visible').length;
$('.pagination li a').hide();
if( CoundNumberOfDivs <= 4 ) {
return false;
}
else {
var num = Math.ceil(CoundNumberOfDivs / 4);
$('.pagination li a:lt(' + num + ')').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
我还将$('.pagination li a').hide();
行移到if
之外,因为它在if
和所有else if
中都是重复的。
答案 1 :(得分:1)
我不再做太多的jQuery了,但这里是
var CoundNumberOfDivs = $('#portfolio-items li:visible').length;
if( CoundNumberOfDivs <= 4 ) {
$('.pagination li a').hide();
return false;
}
else
{
$('.pagination li a').hide();
$('.pagination li a:lt(' + Math.round(CountNumberOfDivs/4) + ')').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
}
答案 2 :(得分:1)
试试这个:
var CoundNumberOfDivs = $('#portfolio-items li:visible').length;
var divisor = Math.ceil(CoundNumberOfDivs/4);
$('.pagination li a').hide();
if(divisor > 1){
$('.pagination li a:lt(' + divisor + ')').show();
$('#portfolio-items li').hide();
$('#portfolio-items li:lt(4)').show();
} else{
return false;
}
答案 3 :(得分:0)
您是否查看了jQuery UI选项卡? http://jqueryui.com/demos/tabs/