为了账号安全,请及时绑定邮箱和手机立即绑定

感觉这样写有点烦,有更简洁的办法没?比如用判断语句?

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>jQuery动画特效</title>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
        <style >
            div{
                position:absolute;
                top:200px;
                width:50px;
                height:50px;
                background-color:red;
                color:white;
                border-radius:20px;
                text-align:center;
                line-height:20px;
                left:50px;
                }
        </style>
  
    <body>
        <input id="left" type="button" value="左移" />
        <input id="right" type="button" value="右移" />
        <div><font></font></div>
        <script>
            $(function(){
            var $timel=0;
            var $timer=0;
            $("#left").bind("click",function(){                 ++$timel;
                $("div").animate({
                    left:"+=50px"
                },3000,function(){
                    $(this).animate({
                        width:'+=20px',
                        height:'+=20px'
                    },2000,function(){
                        $("font").html("第"+$timel+"次左移");
                    });
                });
             });
                $("#right").bind("click",function(){
                    ++$timer;
                    $("div").animate({
                        left:"-=50px"
                    },3000,function(){
                        $(this).animate({
                            width:'-=20px',
                            height:'-=20px'
                        },2000,function(){
                            $("font").html("第"+$timer+"次右移");
                        });
                    });
                });
            });
        </script>
    </body>
</html>

正在回答

3 回答

我用了一个function来包裹变形的动作 代码如下

<script>
            $(function(){
                var $timel = 0;
                var $timer = 0;
                var $symbol = "";
                var $chart = "";
                $("#left").bind("click", function(){
                    $symbol = "-";
                    $chart = "左";
                    $timel++;
                    $time = $timel;
                    Move($symbol, $chart, $timel);
                });
                $("#right").bind("click", function(){
                    $symbol = "+";
                    $chart = "右";
                    $timer++;
                    Move($symbol, $chart, $timer);

                });

                function Move($symbol, $chart, $time){
                    $("div").animate({
                        left:$symbol + "=50px"
                    },3000,function(){
                        
                        $(this).animate({
                            width: $symbol + '=20px',
                            height: $symbol + '=20px'
                            },2000,function(){
                                $("font").html("第" + $time + "次" + $chart + "移");
                            });
                    });
                }
            })
</script>


0 回复 有任何疑惑可以回复我~
#1

玥_ 提问者

厉害
2016-05-05 回复 有任何疑惑可以回复我~
#2

肥仔汇 回复 玥_ 提问者

我也是初学者 大家一同 学习一同进步
2016-05-05 回复 有任何疑惑可以回复我~

 <script>

            $(function(){

            var $timel=0;

            var $timer=0;

            $("#left").bind("click",function(){               

                go($timel,"-=50","-=20")

             });

                $("#right").bind("click",function(){

                    go($timer,"+=50","+=20")

                });

            });

            function go(time,dis,wh){

                ++time;

                $("div").animate({

                    left:dis+"px"

                },3000,function(){

                    $(this).animate({

                        width:wh+"px",

                        height:wh+"px"

                    },2000,function(){

                        $("font").html("第"+time+"次右移");

                    });

                });

            }

        </script>


1 回复 有任何疑惑可以回复我~

可以把两个bind合并到一起啊。 $("#right").bind().bind();这样会稍微简单点吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

感觉这样写有点烦,有更简洁的办法没?比如用判断语句?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信