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

为什么click不用点击,打开动画就自动运行呢?新手上路,请多指教,谢谢了!

http://img1.sycdn.imooc.com//57399346000106f410350463.jpg想要的效果是点击之后运行动画  但是现在不点击自动就运行呢

<input type="button" value="左移" id="left" />
<input type="button" value="右移" id="right" />
<span id="cont"></span>
<div id="box"></div>
<script type="text/javascript">
   $(function(){
       $("#left").bind("click",play({left:'-=200px'}));
       $("#right").bind("click",play({left:'+=200px'}));

       //自定义函数
       function play(i){
           $("#box").animate(i,1000,
               function (){
                   $("#cont").html("ok!");
               });
         }
   })
</script>


正在回答

3 回答

<div id="box"></div> 改成<div id="box" style="position:relative"></div>试试

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

早起吧菜鸟 提问者

也不好使呢.
2016-05-15 回复 有任何疑惑可以回复我~
#2

HoooooHooo 回复 早起吧菜鸟 提问者

把你的全部代码发上来吧 也好让大家找错误
2016-05-16 回复 有任何疑惑可以回复我~
#3

HoooooHooo 回复 早起吧菜鸟 提问者

$("#left").bind("click",function(){play({left:'-=200px'})}); $("#right").bind("click",function(){play({left:'+=200px'})}); 这样好像就行了,应该是必须要这样的格式的。好像只有bind("click",function(){}}) ,如果你还要调用函数就在funciton{ 函数(参数) } 其实你的问题没有解决 我也想不出来
2016-05-16 回复 有任何疑惑可以回复我~
#4

早起吧菜鸟 提问者 回复 HoooooHooo

恩呢 ,谢谢了!
2016-05-16 回复 有任何疑惑可以回复我~
查看2条回复

经我测试,我发现bind()里的function函数不能加括号,加了括号它就会自动执行。你非要这么写那么将play({left:'-=200px'})写在一个匿名函数里,像这样。

$("#left").bind("click",function(){    
    play({left:'-=200px'})
});

应该就能行了。没有测试。

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

那就别封装了,本来就不太复杂,

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

举报

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

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

进入课程

为什么click不用点击,打开动画就自动运行呢?新手上路,请多指教,谢谢了!

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