Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反向onClick事件_Javascript_Jquery - Fatal编程技术网

Javascript 反向onClick事件

Javascript 反向onClick事件,javascript,jquery,Javascript,Jquery,我是一个真正的javascript新手,在我的学习中寻找一些指导——不是家庭作业,也不是任何商业活动 我这里有一个函数,它显示了一个元素,由于函数的前两行而被隐藏。我首先点击标题,然后出现两个隐藏的div,这正是我想要的。但是,现在当我使用第二个函数时,它不会返回到windown的onload状态。为什么会这样?有没有更好的方法来实现这一点 第一功能 $(window).ready(function(){ $('.miniC').css("display", "none")

我是一个真正的javascript新手,在我的学习中寻找一些指导——不是家庭作业,也不是任何商业活动

我这里有一个函数,它显示了一个元素,由于函数的前两行而被隐藏。我首先点击标题,然后出现两个隐藏的div,这正是我想要的。但是,现在当我使用第二个函数时,它不会返回到windown的onload状态。为什么会这样?有没有更好的方法来实现这一点

第一功能

  $(window).ready(function(){
         $('.miniC').css("display", "none");
      $('.miniI').css("display", "none");
    $(".heading").click(function(){
      $('.miniC').slideDown();
      $('.miniI').slideDown();

      $('.miniC').show();
      $('.miniI').show();

    });
  });
第二功能反转

  $(window).ready(function(){
    $(".hideOut").click(function(){
      $('.miniC').slideUp();
      $('.miniI').slideUp();

      $('.miniC').hide();
      $('.miniI').hide();

    });
  });
提前感谢,如有任何关于阅读材料的参考,我们将不胜感激


*更正了缺少的结束报价-这是我在堆栈溢出中键入的错误-抱歉*

因为slideUp和hide写在click事件中。因此,它不会在窗口就绪时启动,但仅在单击$.hideOut时启动。

您的第一个函数中有一个输入错误。 行中缺少一个引号:

$('.miniC).show();

似乎您想要切换元素的可见性,既然您已经在滑动它,为什么不直接使用slideToggle:


您不需要调用.hide和.show-它们将作为幻灯片功能的一部分处理。但是,您会在幻灯片结束后立即调用它们,但默认情况下需要一段时间才能完成400ms,这意味着.hide fires before.slideUp complete。

超出了问题范围,但仍然适用

 $('.miniC').css("display", "none");
 $('.miniI').css("display", "none");
页面功能的这一部分应该使用CSS,这将导致浏览器正确呈现页面的初始绘制。在您的例子中,浏览器绘制miniC和miniI元素,然后jQuery代码将这两个元素的CSS显示属性分别更新为none。触发页面的两个附加重绘。因此,基本上,使用jQuery代码,您可以绘制三次页面,以获得一次绘制即可实现的效果

然后像Charlie说的那样为点击添加一个监听器

$(".heading").click(function () {
    $(".miniC").slideToggle();
    $(".miniI").slideToggle();
});

$”.miniC.show;你错过了一些事情这不是问题所在。这是我问问题时的打字错误——道歉
$(".heading").click(function () {
    $(".miniC").slideToggle();
    $(".miniI").slideToggle();
});