我正在努力从函数中获取最终值,我有两个可单击的按钮,一个是上一个,另一个是下一个。单击两者,我将获取幻灯片放映计数。为了得到这个结果,我使用以下代码。它工作得更好,但直到我相信这一点,可能有一个单行解决方案......
任何人都可以更正此代码以最小化吗?
var tdLength = 7;
var num = 0;
$('a.buttons').click(function(){
num = ($(this).attr('id') == "next-arrow") ? num +=1 : num -=1;
num = ( num > tdLength) ? 1 : num;
num = (num < 1) ? tdLength : num;
alert(num);
})
提前致谢..
最佳答案
我的镜头:
var num = 0;
function add(amount) {
num = (num + tdLength - 1 + amount) % tdLength + 1
alert(num);
}
$('#next-arrow').click(function(){add(1)});
$('#prev-arrow').click(function(){add(-1)});
恶人:
num = (num + tdLength - 1 + amount) % tdLength + 1
对于合理的amount
值,始终产生[1..tdLength]
(含)内的值。受到@Jon 回答的启发。
关于javascript - 这是最好的表达条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7807795/