开发者社区> 问答> 正文

jquery funtion load

最近写JS的时候发现有两个奇怪的问题

问题一:

代码如下:

格式一:
$(document).ready(function(){
  $("button").click(togglexx());
});
 
function togglexx() {
  $("p").toggle(1000); 
}
 
////////////////////////////////////////
////////////////////////////////////////
 
格式二:
$(document).ready(function(){
  $("button").click(function() {
    $("p").toggle(1000); 
  });
});


格式一没有使用匿名涵数,发现加载页面后,所有的<p>就hide或者show,也就是说效果相当于直接点了button,使用格式二的时候,加载页面后,所有的<p>不会进行hide或者show,当点击button的时候才执行toggle方法,这是为什么?
******************************************************

******************************************************

问题二:

代码如下:

格式一:
$(document).ready(function(){
  $("button").click(togglex());
});
 
 
function togglex() {
  $("p").toggle(1000, function(){
    $("button").click(togglex());
  });
}
 
////////////////////////////////////////////
////////////////////////////////////////////
 
格式二:
$(document).ready(function(){
  $("button").click(togglex());
});
 
 
function togglex() {
  $("p").toggle(1000, togglex());
}

使用格式一可以出现想要的效果,但使用格式二的时候却没有出现想要的效果,就算点击button也没有反应,求助……

展开
收起
a123456678 2016-07-13 15:59:35 1630 0
1 条回答
写回答
取消 提交回答
  • 第一个问题,只要将格式一里改为如下:

    $(document).ready(function(){
      $("button").click(togglexx);
    });
    
    
    *******************************************
    **************************************
    
    第二个问题,代码修改如下:
    
    $(document).ready(function(){
      $("button").click(togglex);
    });
      
      
    function togglex() {
      $("p").toggle(1000, togglex);
    }
    2019-07-17 19:55:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
23-Vue.js在前端...1506518547.pdf 立即下载
Javascript中的对象 立即下载
JavaScript函数 立即下载