JavaScript에서는 창 크기가 500px보다 큰 경우 브라우저에 무언가를 지시합니다. 나는 그렇게한다 :
if (windowsize > 500) {
// do this
}
이것은 훌륭하게 작동하지만이 동일한 방법을 적용하고 싶지만 범위가 다릅니다. 따라서 창 크기가 500px에서 600px 사이이면 브라우저에 작업을 수행하고 싶습니다. 나는 이것이 효과가 없다는 것을 알고 있지만 여기에 내가 상상 한 방법이 있습니다.
if (windowsize > 500-600) {
// do this
}
JavaScript 내에서도 가능합니까?
답변
값 이나 그 자체가 조건을 만족 시키지 않을 것이라는 의미 windowsize
보다 크 500
거나 작은 지 테스트합니다 .600
500
600
if (windowsize > 500 && windowsize < 600) {
// ...
}
답변
나는 잠시 시간을 보냈으므로 이미 답변을 수락했지만 다음을 기여할 것이라고 생각했습니다.
Number.prototype.between = function(a, b) {
var min = Math.min.apply(Math, [a, b]),
max = Math.max.apply(Math, [a, b]);
return this > min && this < max;
};
var windowSize = 550;
console.log(windowSize.between(500, 600));
JS 피들 데모 .
또는 숫자를 확인하는 옵션 이 종료점을 포함하여 정의 된 범위 내에 있는지 확인하려면 다음을 수행하십시오 .
Number.prototype.between = function(a, b, inclusive) {
var min = Math.min.apply(Math, [a, b]),
max = Math.max.apply(Math, [a, b]);
return inclusive ? this >= min && this <= max : this > min && this < max;
};
var windowSize = 500;
console.log(windowSize.between(500, 603, true));
JS 피들 데모 .
의견에 명시된 바와 같이 위의 내용에 대해 약간의 수정 사항을 추가하도록 수정되었습니다.
…
Function.prototype.apply()
느리다! 고정 된 양의 인수가있을 때 호출하는 것 외에도 의미가 없습니다…
의 사용을 제거 할 가치가 있었으며 Function.prototype.apply()
, 이는 먼저 ‘포함’옵션없이 위의 메소드의 수정 된 버전을 생성합니다.
Number.prototype.between = function(a, b) {
var min = Math.min(a, b),
max = Math.max(a, b);
return this > min && this < max;
};
var windowSize = 550;
console.log(windowSize.between(500, 600));
JS 피들 데모 .
그리고 ‘포괄적’옵션으로 :
Number.prototype.between = function(a, b, inclusive) {
var min = Math.min(a, b),
max = Math.max(a, b);
return inclusive ? this >= min && this <= max : this > min && this < max;
}
var windowSize = 500;
console.log(windowSize.between(500, 603, true));
JS 피들 데모 .
참고 문헌 :
답변
코드가 내 변수의 유효성을 검사하고 범위 값 사이에 있다는 추가 힌트를주기 위해 변수를 내부에 배치하는 것을 선호합니다
if (500 < size && size < 600) { doStuff(); }
답변
그것은 오래된 질문이지만 나와 같은 누군가에게 유용 할 수 있습니다.
lodash
보유 _.inRange()
기능 https://lodash.com/docs/4.17.4#inRange
예:
_.inRange(3, 2, 4);
// => true
이 방법은 Lodash
유틸리티 라이브러리를 사용하며 설치된 버전의 Lodash에 액세스해야합니다.
답변
if
쓰지 않고 여러 절을 조건으로 사용할 수 있습니다
if (windowsize > 500-600) {
// do this
}
이것은 논리적으로 의미가 없기 때문에 JavaScript는 다음과 같은 if 조건을 읽습니다.
windowSize > -100
그것은 계산 500-600
하기 때문에-100
&&
예를 들어 다음과 같이 두 경우를 모두 엄격하게 검사 해야합니다.
if( windowSize > 500 && windowSize < 600 ){
// Then doo something
}
답변
부트 스트랩 모달 값을 표시하고 숨기기 위해이 jQuery 비트를 구현했습니다. 사용자 텍스트 상자 항목의 값 범위에 따라 다른 필드가 표시됩니다.
$(document).ready(function () {
jQuery.noConflict();
var Ammount = document.getElementById('Ammount');
$("#addtocart").click(function () {
if ($(Ammount).val() >= 250 && $(Ammount).val() <= 499) {
{
$('#myModal').modal();
$("#myModalLabelbronze").show();
$("#myModalLabelsilver").hide();
$("#myModalLabelgold").hide();
$("#myModalPbronze").show();
$("#myModalPSilver").hide();
$("#myModalPGold").hide();
}
}
});
답변
가능한 가장 짧은 방법은 다음과 같습니다.
if (Math.abs(v-550)<50) console.log('short')
if ((v-500)*(v-600)<0) console.log('short')
매개 변수화 :
if (Math.abs(v-max+v-min)<max+min) console.log('short')
if ((v-min)*(v-max)<0) console.log('short')
첫 번째가 어떻게 작동하는지 이해하지 못하면 양쪽을 2로 나눌 수 있습니다.)