Javascript 尝试一次单击就切换容器

Javascript 尝试一次单击就切换容器,javascript,jquery,html,toggle,Javascript,Jquery,Html,Toggle,每次单击偶数处理程序时,我都试图使div容器展开和收缩。 但是,每次我加载页面时,我都必须单击偶数处理程序两次,以便第一次将其展开,之后它只需单击一次即可工作,但我只希望单击一次,以便在重新加载页面时将其展开 CSS: Javascript: function expand(){ $("#bodywrap1").toggle(function(){ $("#bodywrap1").animate({height:600},200); }); } HTML: 展开 这是我正在工作的

每次单击偶数处理程序时,我都试图使div容器展开和收缩。 但是,每次我加载页面时,我都必须单击偶数处理程序两次,以便第一次将其展开,之后它只需单击一次即可工作,但我只希望单击一次,以便在重新加载页面时将其展开

CSS:

Javascript:

function expand(){
  $("#bodywrap1").toggle(function(){
  $("#bodywrap1").animate({height:600},200);
  });
}
HTML:

展开
这是我正在工作的网站,特别是页面。

之所以需要两次单击,是因为.toggle隐藏了#bodywrap1,然后在第二次单击时显示#bodywrap1并设置高度动画

我改为使用.toggleClass解决了这个问题,并用css改变了一些东西

HTML

jQuery UI(只能使用jQuery UI设置高度动画,不能使用普通jQuery)


需要两次单击的原因是.toggle隐藏了#bodywrap1,然后在第二次单击时显示#bodywrap1并设置高度动画

我改为使用.toggleClass解决了这个问题,并用css改变了一些东西

HTML

jQuery UI(只能使用jQuery UI设置高度动画,不能使用普通jQuery)


需要两次单击的原因是.toggle隐藏了#bodywrap1,然后在第二次单击时显示#bodywrap1并设置高度动画

我改为使用.toggleClass解决了这个问题,并用css改变了一些东西

HTML

jQuery UI(只能使用jQuery UI设置高度动画,不能使用普通jQuery)


需要两次单击的原因是.toggle隐藏了#bodywrap1,然后在第二次单击时显示#bodywrap1并设置高度动画

我改为使用.toggleClass解决了这个问题,并用css改变了一些东西

HTML

jQuery UI(只能使用jQuery UI设置高度动画,不能使用普通jQuery)


html编写不正确,请从标记h1和h2中删除

<head>
    <link rel="stylesheet" type="text/css" href="../css/c++.css">
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>

<h1>C++</h1>
<h2 id = "expandv">Expand</h2>
<h1>Variables</h1>
<!-- ... -->

工作JSFIDLE:

您的html编写不正确,请从标记h1和h2中删除

<head>
    <link rel="stylesheet" type="text/css" href="../css/c++.css">
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>

<h1>C++</h1>
<h2 id = "expandv">Expand</h2>
<h1>Variables</h1>
<!-- ... -->

工作JSFIDLE:

您的html编写不正确,请从标记h1和h2中删除

<head>
    <link rel="stylesheet" type="text/css" href="../css/c++.css">
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>

<h1>C++</h1>
<h2 id = "expandv">Expand</h2>
<h1>Variables</h1>
<!-- ... -->

工作JSFIDLE:

您的html编写不正确,请从标记h1和h2中删除

<head>
    <link rel="stylesheet" type="text/css" href="../css/c++.css">
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>

<h1>C++</h1>
<h2 id = "expandv">Expand</h2>
<h1>Variables</h1>
<!-- ... -->

工作JSFIDLE:

切换根据display属性工作,因此将
display:none
设置为
bodywrap1

第一次单击时,由于未设置显示,因此不显示元素
toggle()
将其隐藏,以将其修复为已设置

#bodywrap1 {
    border-radius: 5px;
    height: 0;
    width: 80%;
    overflow: hidden;
    border-top: solid 2px rgba(0, 0, 0, 0.3);
    border-bottom: solid 2px rgba(0, 0, 0, 0.3);
    /*new property*/
    display: none;
}

切换根据显示属性工作,因此将
display:none
设置为
bodywrap1

第一次单击时,由于未设置显示,因此不显示元素
toggle()
将其隐藏,以将其修复为已设置

#bodywrap1 {
    border-radius: 5px;
    height: 0;
    width: 80%;
    overflow: hidden;
    border-top: solid 2px rgba(0, 0, 0, 0.3);
    border-bottom: solid 2px rgba(0, 0, 0, 0.3);
    /*new property*/
    display: none;
}

切换根据显示属性工作,因此将
display:none
设置为
bodywrap1

第一次单击时,由于未设置显示,因此不显示元素
toggle()
将其隐藏,以将其修复为已设置

#bodywrap1 {
    border-radius: 5px;
    height: 0;
    width: 80%;
    overflow: hidden;
    border-top: solid 2px rgba(0, 0, 0, 0.3);
    border-bottom: solid 2px rgba(0, 0, 0, 0.3);
    /*new property*/
    display: none;
}

切换根据显示属性工作,因此将
display:none
设置为
bodywrap1

第一次单击时,由于未设置显示,因此不显示元素
toggle()
将其隐藏,以将其修复为已设置

#bodywrap1 {
    border-radius: 5px;
    height: 0;
    width: 80%;
    overflow: hidden;
    border-top: solid 2px rgba(0, 0, 0, 0.3);
    border-bottom: solid 2px rgba(0, 0, 0, 0.3);
    /*new property*/
    display: none;
}


我应用了你的,它工作得很好,除了它失去了动画。但感谢您指定了我不知道需要什么类型的Jquery。我会在出差后回来检查其他内容。@BryanFajardo好的,让我知道您在找什么动画。因为它确实为我在小提琴中的高度设置了动画,我应用了你的,它工作得很好,只是它丢失了动画。但感谢您指定了我不知道需要什么类型的Jquery。我会在出差后回来检查其他内容。@BryanFajardo好的,让我知道您在找什么动画。因为它确实为我在小提琴中的高度设置了动画,我应用了你的,它工作得很好,只是它丢失了动画。但感谢您指定了我不知道需要什么类型的Jquery。我会在出差后回来检查其他内容。@BryanFajardo好的,让我知道您在找什么动画。因为它确实为我在小提琴中的高度设置了动画,我应用了你的,它工作得很好,只是它丢失了动画。但感谢您指定了我不知道需要什么类型的Jquery。我会在出差后回来检查其他内容。@BryanFajardo好的,让我知道您在找什么动画。因为它确实为我在小提琴中的高度设置了动画。谢谢你,在回顾了所有答案之后,我认为你的答案是最好的,因为它很简单,而且我只需要再写一行代码。谢谢谢谢你,在回顾了所有的答案之后,我认为你的答案是最好的,因为它很简单,而且我只需要再写一行代码。谢谢谢谢你,在回顾了所有的答案之后,我认为你的答案是最好的,因为它很简单,而且我只需要再写一行代码。谢谢谢谢你,在回顾了所有的答案之后,我认为你的答案是最好的,因为它很简单,而且我只需要再写一行代码。谢谢谢谢你指出html错误和代码工作得很好,这对我来说只是有点复杂。谢谢你指出html错误和代码工作得很好,这对我来说只是有点复杂。谢谢你指出html错误和代码工作得很好,这对我来说只是有点复杂。谢谢你指出排除了html错误,代码运行得很好,只是对我来说有点复杂。