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

为什么加入注释的第一条(var pos = parseInt(div.style.left));还有关于div定位的那些语句之后,函数就无效了?

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
            div {
                width:90px;
                height:95px;
                background-color:red;
                position:absolute;
                top:50px;
        </style>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
        <title>jQuery动画特效</title>
    </head>
    
    <body>
    <div id="move"></div>
    <input type="button" id="right" value="右移"></input>
    <input type="button" id="left" value="左移"></input>
    <script>
             var btnR = $("#right");
             var btnL = $("#left");
             var div = $("#move");
             //var pos =parseInt(div.style.left);
            btnR.bind("click",function(){
                div.animate({
                    left:"+=50px"
                    //left:pos + 50 + "px"
                },
                200);
            });
            btnL.bind("click",function(){
                div.animate({
                    left:"-=50px"
                    //left:pos + 50 + "px"
                },
                200);
            });
            
                
    </script>    
    </body>
</html>


正在回答

2 回答

btnR.bind("click",function(){

                console.log(div.style);//这里输出的是undefined

                var pos =parseInt(div.offset().left);//这里

                //console.log(pos);

                //var newPos = pos + 50;

                //console.log(newPos);

                div.animate({

                    //left:"+=50px"

                    left:pos+50

                },

                200);

            });

方法这样重写就可以了。具体看控制台打印出的日志就会明白,"div.style.left"根本不存在,应该这样获取“div.offset().left”,具体看代码

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

你刷新试试。。我复制你的这段代码运行。。一点问题都没有啊。

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

慕数据4485210 提问者

我的意思是,如果把注释标志//去掉,为什么函数就不能运行了
2016-03-01 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么加入注释的第一条(var pos = parseInt(div.style.left));还有关于div定位的那些语句之后,函数就无效了?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号