以下代码中的唯一区别是用于增加或减少值的 - 和 + 符号。
if( that.hasClass('prev') ){
$('.elem').scrollLeft( $('.elem').scrollLeft()-(0.1*factor) );
}
else if( that.hasClass('next') ){
$('.elem').scrollLeft( $('.elem').scrollLeft()+(0.1*factor) );
}
我想知道如何将代码转换为一个小的三元语句,可以吗?
最佳答案
如果您确实需要测试这两个类(“next”和“prev”),您可以分解逻辑:
var mul = that.hasClass("prev") ? -1 :
that.hasClass("next") ? 1 :
0;
$(".elem").scrollLeft($(".elem").scrollLeft() + mul * 0.1 * factor);
如果您感觉特别有活力,您可以将其转换为 jQuery 函数:
$.fn.scrollDir = function() {
return that.hasClass("prev") ? -1 :
that.hasClass("next") ? 1 :
0;
};
$(".elem").scrollLeft($(".elem").scrollLeft() + that.scrollDir() * 0.1 * factor);
关于javascript三元运算符来增加或减少值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021429/