繁体   English   中英

如果语句在函数内部不起作用

[英]if statement doesn't work inside a function

我希望通过Jobbra按钮将图片逐步移至左侧,直到1300px,因此我添加了if语句来实现此目的,但是onlclick无效。 如果删除if语句,则按钮单击功能会自行起作用。 我的if语句有什么问题? 谢谢

 <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>PingPongKép</title>
        <link rel="stylesheet" href="CSS/style.css">
    </head>

    <body>

        <div id="ilonakep">
            <img src="/img/ilona.jpg" alt="ilona">
        </div>

        <p id="gombok">

            <button onclick="balra()">Balra</button>

            <button onclick="jobbra()">Jobbra</button>



        </p>

        <script>
            var jobbAnim = 1;
            var speed = 1;
            var balAnim = 0;



            function jobbra() {

          if ( jobbAnim < 1300){
              var jobbAnim = jobbAnim + speed;
          }
            document.getElementById("ilonakep").style.marginLeft = jobbAnim + "px";

           }



            function balra() {
            document.getElementById("ilonakep").style.marginLeft = balAnim + "px";

            }
        </script>







</body>
</html>

希望这能解决问题

 var jobbAnim = 1; var speed = 10; var balAnim = 0; var max = 80; // 1300 here. function jobbra () { var ilonakep = document.getElementById("ilonakep"); if (ilonakep.clientWidth + parseInt(ilonakep.style.marginLeft) < max || ilonakep.style.marginLeft == '') { jobbAnim = jobbAnim + speed; ilonakep.style.marginLeft = jobbAnim + "px"; } else console.log(max+' reached'); } function balra () { document.getElementById("ilonakep").style.marginLeft = balAnim + "px"; jobbAnim = 0; } 
 #ilonakep { width: 50px; height: 50px; border: 1px solid #000; margin: 0; } 
 <div id="ilonakep"> <img src="/img/ilona.jpg" alt="ilona"> </div> <p id="gombok"> <button onclick="balra()">Balra</button> <button onclick="jobbra()">Jobbra</button> </p> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM