if段起作用,而else段则不起作用,当您尝试单击最小化按钮时会看到它,因为它将展开但不会收缩。

$("#scfullscreen").click(function() {
sccount+=1;
if (sccount % 2 !== 0) {
    animateFn('20%','80%');

} else {
    animateFN('0','20%');
    }
});


问题是我不知道是什么原因导致它无法正常工作是其余的javascript

    var sccount = 0;
    $(document).ready(function() {
    $("#scfullscreen").click(function() {
    sccount+=1;
    if (sccount % 2 !== 0) {
        animateFn('20%','80%');

    } else {
        animateFN('0','20%');
        }
    });
    });

    function animateFn(l, w){
        $('#soundcloud').animate({
                left: l,
                width: w,
            }, 1000);
        $('#scfullscreen').animate({
                left: l,
                width: w,
            }, 1000);
        $('#scexpand').addClass('rotated');
    }


这是我的HTML

    <!doctype html>
<html>

    <head>
        <title>L3mmy Dubz</title>
        <link rel="stylesheet" type="text/css" href="styles.css">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="jquery.js" type="text/javascript"></script>
        <script src="animation.js" type="text/javascript"></script>
    </head>

    <body>
        <div id="header"></div>
        <a href="index.html">
            <div id="homebtn" class="btn">Home</div>
        </a>
        <div id="musicbtn" class="btn">Music</div>
        <iframe id="soundcloud" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/users/19690125&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;visual=true"></iframe>
        <div class="btn" id="scfullscreen" class="scfullscreenclick">
            <img id="scexpand" height="100%" alt="fullscreen" src="images\plus.png" />
        </div>

    </body>

</html>


这是我的CSS

* {
    margin:0px;
    border:0px;
    padding:0px;
}
body {
    background-color:#B22800;
    height:100%;
    width:100%;
}
#header {
    position:fixed;
    left:0px;
    width:20%;
    height:100%;
    background-color: #7C1C00;
    opacity:0.9;

}
.btn {
    position:fixed;
    line-height:200%;
    text-overflow:clip;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    height:7.5%;
    width:20%;
    color:white;
    Font-size:2em;
    text-align:center;
}
.btn:hover {
    background-color:#ff3a00;
}
#homebtn{
    top:0%;
}
#musicbtn{
    top:7.5%;
}
#header a {
    text-decoration:none;
    color:#fff;
}

#soundcloud {
    width:20%;
    height:77.5%;
    position:fixed;
    left:0px;
    top:15%;
}
#scfullscreen {
    bottom:0px;
    display:block;
    position:fixed;
    overflow: hidden;
    white-space: nowrap;
    height:7.5%;
    left:0px;
    width:20%;
}
#scfullscreen:hover {
    background-color:#ff3a00;
}
.rotated {
  transform: rotate(45deg);
  -ms-transform: rotate(45deg); /* IE 9 */
  -moz-transform: rotate(45deg); /* Firefox */
  -webkit-transform: rotate(45deg); /* Safari and Chrome */
  -o-transform: rotate(45deg); /* Opera */
}
@media screen and (max-width:768px) {
    #header {
        width:30%;
    }
    #soundcloud {
        width:30%;
    }
    #scfullscreen {
        width:30%;
        left:0px;
    }
}


可以提供的任何帮助都将受到极大的赞赏,因为我是javascript新手,但我尚未在网上找到问题。

ps。如果更容易检查该http://l3mmydubz.onhub.online,则可以在此处找到我的网站
提前致谢,
詹姆士

最佳答案

问题出在您的if语句测试表达式中:

if (!sccount%2 === 0) {


表达式!sccount%2的解释方式如下:

if ( (!sccount) % 2 === 0)


sccount为非零时,!sccount将为false。反过来,false将在0表达式中转换为%,因此除非sccount0,否则答案始终为零。

如果您只想根据sccount是偶数还是奇数在两个动作之间切换,可以使用!==比较结果:

if ( sccount % 2 !== 0 )

10-07 13:34