我希望它在数字为0时触发,当数字为1或2时,当数字为3或4时,当数字为5或6.当触发时它将改变高度某个元素。现在它总是返回70px。
if(y == 0){
$('slpage').style.height = '0px';
}else if(y >= 1){
$('slpage').style.height = '70px';
}else if(y <=4){
$('slpage').style.height = '140px';
}else if(y >= 5){
$('slpage').style.height = '210px';
}
感谢
答案 0 :(得分:2)
您应该考虑重新排序您的陈述。因此,它先检查最高值,然后检查最低值。
if(y == 0){
$('slpage').style.height = '0px';
}else if(y >= 5){
$('slpage').style.height = '210px';
}else if(y >=4){
$('slpage').style.height = '140px';
}else if(y >= 1){
$('slpage').style.height = '120px';
}
否则,您最终会在达到最高值之前触发最低值。
我猜你在第三个条件下为支票做了一个类型。校正。
如果整数依赖则切换。它意味着它应该是0,1,2,3,4,5,6。但我的情况是0.如果触发它。如果1-2。它会触发。如果3-4。它会触发。如果5-6。它会触发。
请勿使用开关限制自己,因为您必须一次覆盖2个案例。 Switch
也拥有该设施。
switch (y) {
case 0:
$('slpage').style.height = '0px';
break;
case 1:
case 2:
$('slpage').style.height = '120px';
break;
case 3:
case 4:
$('slpage').style.height = '140px';
break;
case 5:
case 6:
$('slpage').style.height = '240px';
break;
}
假设您使用Jquery,您的Jquery选择器是错误的。如果不是,请忽略#
或.
忽略。
答案 1 :(得分:1)
您也可以使用switch case
switch (y) {
case 0:
$('slpage').style.height = '0px';
break;
case 1:
case 2:
$('slpage').style.height = '70px';
break;
case 3:
case 4:
$('slpage').style.height = '140px';
break;
case 5:
case 6:
$('slpage').style.height = '210px';
break;
}
function sw(y) {
switch (y) {
case 0:
console.log('0px');
break;
case 1:
case 2:
console.log('70px');
break;
case 3:
case 4:
console.log('140px');
break;
case 5:
case 6:
console.log('210px');
break;
default:
console.log('no value mathed value');
}
}
sw(0);
sw(1);
sw(2);
sw(3);
sw(4);
sw(5);
sw(6);
sw()
答案 2 :(得分:0)
切换声明可能吗?
'use strict';
// all the .button-counter from the DOM
const buttonsCounter = document.getElementsByClassName('button-counter');
// sets the content of the button to what value is currently set for data-counter
const buttonCounterSetText = button => button.innerHTML = `Click me (${button.dataset.count || 0})`;
// handles click event on the button
const buttonCounterClickHandler = ({currentTarget}) => {
// increases the current value for data-count, or sets it to 0
currentTarget.dataset.count = (parseInt(currentTarget.dataset.count) || 0) + 1;
// see above
buttonCounterSetText(event.currentTarget);
};
// initialize the buttons content and add listeners for click events
const buttonCounterInitialization = button => {
buttonCounterSetText(button);
button.addEventListener('click', buttonCounterClickHandler);
};
// initialize all buttons found with class .button-counter
[...buttonsCounter].forEach(buttonCounterInitialization);
如需了解更多信息,请查看:https://www.w3schools.com/js/js_switch.asp
答案 3 :(得分:0)
当你有y = {1,2,3,4,5,6}时,它满足条件<> = 1因此它在那时就打破了它。而是将逻辑从最高级改为最低级
if(y >=5){
$('slpage').style.height = '210px';
}else if(y >= 3){
$('slpage').style.height = '140px';
}else if(y >=1){
$('slpage').style.height = '70';
}else {
$('slpage').style.height = '0px';
}
答案 4 :(得分:0)
干(不要重复自己)
var h = 0;
if (y >= 5) h = 210;
else if (y >= 3) h = 140;
else if (y >= 1) h = 70;
$('slpage').style.height = h+'px';
假设
function $(id) { return document.getElementById(id); }
如果您使用的是jQuery,则需要
$('.slpage').css({"height": h+'px'});
或
$('#slpage').css({"height": h+'px'});
取决于选择器
答案 5 :(得分:0)
最好使用switch
:
switch (y) {
case 0:
$('slpage').style.height = '0px';
break;
case 1:
case 2:
$('slpage').style.height = '70px';
break;
case 3:
case 4:
$('slpage').style.height = '140px';
break;
case 5:
case 6:
$('slpage').style.height = '210px';
break;
default:
$('slpage').style.height = '0px';
}