这与游戏相关,但我对我的部分代码所获得的结果感到好奇。在我的代码(全局)的顶部,我已经把
if ( ( $( this ).attr ( "data-require" ) == "police" && playerJob != "police") ) {
$( this ).hide();
} else {
$( this ).show();
}
if ( ( $( this ).attr ( "data-require" ) == "mechanic" && playerJob != "mechanic") ) {
$( this ).hide();
} else {
$( this ).show();
}
所以这是我的代码:
.ul-accordion li i.fa-chevron-down {
font-size: 16px;
float:right;
padding:0 20px;
}
任何人都知道为什么?
答案 0 :(得分:0)
为什么是因为如果第一个条件为真,你就不要阻止第二个条件运行,这不会是真的,并且会撤消在第一个条件中所做的任何事情
似乎你可以将整个事情简化为:
$( this ).toggle( $(this).attr ("data-require") === playerJob );
toggle(boolean)
可与hide / show相媲美,具体取决于boolean
答案 1 :(得分:0)
最后一个条件运行......并且可以覆盖第一个条件。
条件满足后尝试return;
。
if ( ( $( this ).attr ( "data-require" ) == "police" && playerJob != "police") ) {
$( this ).hide();
return;
}
if ( ( $( this ).attr ( "data-require" ) == "mechanic" && playerJob != "mechanic") ) {
$( this ).hide();
return;
}
// If no conditions are meet...
$( this ).show();