jQuery的:
var Page = parseInt($(".active_pagination").data("number"));
var First = parseInt($(".pagination_number:first").data("number"));
var Last = parseInt($(".pagination_number:last").data("number"));
alert("Page: "+Page+" First: "+First+" Last: "+Last);
switch(Page){
case (Page === First):
alert("First");
$(".prev").closest('li').hide();
$(".next").closest('li').show();
break;
case (Page === Last):
alert("Last");
$(".prev").closest('li').show();
$(".next").closest('li').hide();
break;
default:
alert("Default");
$(".prev").closest('li').show();
$(".next").closest('li').show();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<li><a href="#" class="pagination_list pagination_number active_pagination" data-number="1">1</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="2">2</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="3">3</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="4">4</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="5">5</a></li>
我将所有变量解析为Int然后执行比较,但它仍然不起作用。我不知道它是如何连续执行默认条件的。
答案 0 :(得分:2)
用
替换开关switch(Page){
case First:
alert("First");
$(".prev").closest('li').hide();
$(".next").closest('li').show();
break;
case Last:
alert("Last");
$(".prev").closest('li').show();
$(".next").closest('li').hide();
break;
default:
alert("Default");
$(".prev").closest('li').show();
$(".next").closest('li').show();
}
switch
隐式检查与指定的情况是否相等,您自己不进行比较。
答案 1 :(得分:2)
在switch case block中,您实际上需要根据switch
参数中使用的变量值设置条件语句。
var Page = parseInt($(".active_pagination").data("number"));
var First = parseInt($(".pagination_number:first").data("number"));
var Last = parseInt($(".pagination_number:last").data("number"));
alert("Page: "+Page+" First: "+First+" Last: "+Last);
switch(Page){
case (First):
alert("First");
$(".prev").closest('li').hide();
$(".next").closest('li').show();
break;
case (Last):
alert("Last");
$(".prev").closest('li').show();
$(".next").closest('li').hide();
break;
default:
alert("Default");
$(".prev").closest('li').show();
$(".next").closest('li').show();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<li><a href="#" class="pagination_list pagination_number active_pagination" data-number="1">1</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="2">2</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="3">3</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="4">4</a></li>
<li><a href="#" class="pagination_list pagination_number" data-number="5">5</a></li>
答案 2 :(得分:1)
方法1
switch (Page) {
case First:
alert("First");
break;
case Last:
alert("Last");
break;
default:
alert("Default");
}
方法2
if(Page === First){
alert("First");
}
else if (Page === Last){
alert("Last");
}else {
alert("Default");
}