昨天被问到个题,说是现在有两个按钮”顺序“和”反序“,分别使用以下两段代码,请将其合并为一个按钮” 排序“。达到效果:点击为正序,再点击为反序。
<script type="text/javascript">
$(function() {
$('span.zhengxu').click(function() {
var liContents = [];
$('ul span.orderid').each(function() {
liContents.push(parseInt($(this).text(), 10));
});
liContents.sort(numOrdDesc);
$('ul li span.orderid').each(function() {
$(this).text(liContents.pop());
});
});
});
function numOrdDesc(a, b) {
return (b - a);
}
?
1
以下反序只是复制一下正序而成,应将其合并。
$(function() {
$('span.fanxu').click(function() {
var liContents = [];
$('ul span.orderid').each(function() {
liContents.push(parseInt($(this).text(), 10));
});
liContents.sort(nesc);
$('ul li span.orderid').each(function() {
$(this).text(liContents.pop());
});
});
});
function nesc(a, b) {
return (a - b);
}</script>
jquery中有个方法toggle,应该可以解决你的问题
.toggle( handler(eventObject), handler(eventObject), [ handler(eventObject) ] )
handler(eventObject)第一数次(奇数)点击时要执行的函数。
handler(eventObject)第二数次(偶数)点击时要执行的函数。
handler(eventObject)更多次点击时要执行的函数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。