2012-06-21 42 views
0

如何使用三元運算符縮短以下內容?使用三元運算符縮短代碼

if ((pos - maxPos) == (c.clientWidth)) { 
    $j("#next").addClass("filter"); 
} else { 
    $j("#next").removeClass("filter"); 
} 
+0

只是因爲三元語句少代碼並不會使它更令人滿意(或「更好」)。考慮其他可能需要維護* if..else *的代碼的人可能會更清楚。 – RobG

回答

6

無需使用三元運算符,.toggleClass()接受第二個參數來確定類應該被添加或刪除:

$j('#next').toggleClass('filter', ((pos - maxPos) == c.clientWidth)) 

然而,對於回答你的問題的緣故酷似你問(不使用它!):

$j('#next')[((pos - maxPos) == c.clientWidth) ? 'addClass' : 'removeClass']('filter'); 
1

甚至比三元更好,使用switch PARAM在toggleClass()

$j("#next").toggleClass("filter", pos - maxPos === c.clientWidth);