[英]reduce multiple similar if/else statements - javascript
我有這段代碼,但是我想知道是否有減少行數的方法?
function winResize(w) {
if (w >= 250 && w < 500 ) { $('body').alterClass('col_*', 'col_1'); }
if (w >= 500 && w < 750 ) { $('body').alterClass('col_*', 'col_2'); }
if (w >= 750 && w < 1000 ) { $('body').alterClass('col_*', 'col_3'); }
if (w >= 1000 && w < 1250 ) { $('body').alterClass('col_*', 'col_4'); }
if (w >= 1250 && w < 1500 ) { $('body').alterClass('col_*', 'col_5'); }
if (w >= 1500 && w < 1750 ) { $('body').alterClass('col_*', 'col_6'); }
if (w >= 1750 && w < 2000 ) { $('body').alterClass('col_*', 'col_7'); }
if (w >= 2000 && w < 2250 ) { $('body').alterClass('col_*', 'col_8'); }
if (w >= 2250 && w < 2500 ) { $('body').alterClass('col_*', 'col_9'); }
if (w >= 2500 ) { $('body').alterClass('col_*', 'col_10'); }
}
這就是我所謂的函數
winResize(window.innerWidth);
看來您的間隔是250的倍數。您可以使用該間隔來發揮優勢:
function winResize(w) {
var index = Math.min(10, Math.floor(w / 250));
if (index > 0) {
$('body').alterClass('col_*', 'col_' + index);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.