私は機能する関数を持っていますが、もっと良い方法があるのだろうかと思っています。フォールバックセレクタの書き方を改善しましたか?
私は5つのサイズがあり、現在のサイズのズームレベルを取得しようとしています。現在のサイズにサイズが指定されていない場合は、キャッチがあります。使用する指定があるかどうかを確認するために、他の小さいサイズをチェックします。現在、私はの束と大きなswitch
を持って指定されていませんXLズームが存在しない場合は、チェック等、LGは使用しない場合は、MDのサイズがあるかどうかを確認することがあるある
さ
if
/else
声明。私が行方不明になっているこれを行うためのクリーナーの方法?
self.updateZoom = function() {
var defaultZoomLevel = 8;
switch(self.getSize()) {
case 'xs':
if (self.xsZoom) {
self.zoom = self.xsZoom;
} else {
self.zoom = defaultZoomLevel;
}
break;
case 'sm':
if (self.smZoom) {
self.zoom = self.smZoom;
} else if (self.xsZoom) {
self.zoom = self.xsZoom;
} else {
self.zoom = defaultZoomLevel;
}
break;
case 'md':
if (self.mdZoom) {
self.zoom = self.mdZoom;
} else if (self.smZoom) {
self.zoom = self.smZoom;
} else if (self.xsZoom) {
self.zoom = self.xsZoom;
} else {
self.zoom = defaultZoomLevel;
}
break;
case 'lg':
if (self.lgZoom) {
self.zoom = self.lgZoom;
} else if (self.mdZoom) {
self.zoom = self.mdZoom;
} else if (self.smZoom) {
self.zoom = self.smZoom;
} else if (self.xsZoom) {
self.zoom = self.xsZoom;
} else {
self.zoom = defaultZoomLevel;
}
break;
case 'xl':
if (self.xlZoom) {
self.zoom = self.xlZoom;
} else if (self.lgZoom) {
self.zoom = self.lgZoom;
} else if (self.mdZoom) {
self.zoom = self.mdZoom;
} else if (self.smZoom) {
self.zoom = self.smZoom;
} else if (self.xsZoom) {
self.zoom = self.xsZoom;
} else {
self.zoom = defaultZoomLevel;
}
break;
default:
self.zoom = defaultZoomLevel;
}
self.zoom = parseInt(self.zoom);
}
スイッチの代わりに、ケースxlだけを使用できます。私が見る限り、これはスイッチの場合と同じズームレベルになります。 –
'self.zoom = self.xsZoom || defaultZoomLevel; ' – dandavis