Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 菜单打开时如何展开DIV_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 菜单打开时如何展开DIV

Javascript 菜单打开时如何展开DIV,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我创造了一个 当你们点击菜单时,它会打开,显示里面的内容。如何编辑JQuery,以便在菜单打开时,内部div和菜单div被展开,而在菜单关闭时,内部div和菜单收缩到初始大小 原始,如JSBIN链接所示: 当用户单击菜单时,它应该如下展开: <div id="content">Stuff stuff stuff</div> <br /> <div id="menu">MENU</div> 当用户再次单击菜单时,DIV应返回到原始侧

我创造了一个

当你们点击菜单时,它会打开,显示里面的内容。如何编辑JQuery,以便在菜单打开时,内部div和菜单div被展开,而在菜单关闭时,内部div和菜单收缩到初始大小

原始,如JSBIN链接所示:

当用户单击菜单时,它应该如下展开:

<div id="content">Stuff stuff stuff</div>
<br />
<div id="menu">MENU</div>

当用户再次单击菜单时,DIV应返回到原始侧


有人能帮我做到这一点吗?

您可以使用JQuery
slideToggle()
来实现这一点:

$(document).ready(function(){
  $('#menu').click(function(){ //where menu is the id of your menu item
   $('#content').slideToggle(); // where content is the id of your content div
  });
});
最初,您需要使用css
display:none
或JQuery方法隐藏div,如
hide()
slideUp()

更新:正在工作

更改以下内容:

.cover { //removed the absolute positioning which is hiding the content div
color: white;
text-shadow: 0 2px 2px rgba(0,0,0,0.3);
font-size: 3em;
width: 200px;
height:70px;
background: linear-gradient(#30CCFC, #2CC5EF);
text-align:center;
box-shadow: inset 0 0 1px 1px #54AED0;
cursor: pointer;
transform-style: preserve-3d; 
transition: all 0.3s ease-out; 
transform-origin: bottom center; 
}

.tweet{
display:none; //initially hide the element
}
添加此脚本:

$(function () {
  $('.cover').on('click', function(){
  $('.tweet').slideToggle();
  });
});
并看到它的工作


更新了

您可以使用JQuery
slideToggle()
来实现以下目的:

$(document).ready(function(){
  $('#menu').click(function(){ //where menu is the id of your menu item
   $('#content').slideToggle(); // where content is the id of your content div
  });
});
最初,您需要使用css
display:none
或JQuery方法隐藏div,如
hide()
slideUp()

更新:正在工作

更改以下内容:

.cover { //removed the absolute positioning which is hiding the content div
color: white;
text-shadow: 0 2px 2px rgba(0,0,0,0.3);
font-size: 3em;
width: 200px;
height:70px;
background: linear-gradient(#30CCFC, #2CC5EF);
text-align:center;
box-shadow: inset 0 0 1px 1px #54AED0;
cursor: pointer;
transform-style: preserve-3d; 
transition: all 0.3s ease-out; 
transform-origin: bottom center; 
}

.tweet{
display:none; //initially hide the element
}
添加此脚本:

$(function () {
  $('.cover').on('click', function(){
  $('.tweet').slideToggle();
  });
});
并看到它的工作


更新的

只需使用
hidden=“true”
将其包含在html中,当您需要显示它时,请使用此选项

$('your-div-id').show();

只需使用
hidden=“true”
将其包含在html中,当您需要显示它时,请使用此选项

$('your-div-id').show();

像这样放置两个div:

<div id="content">Stuff stuff stuff</div>
<br />
<div id="menu">MENU</div>
如果希望用户单击“打开”菜单,再次单击,它将关闭:

var open = false;
$("#content").height( 0 );
$("#menu").click(function(){
    if (open == false){
        $("#content").height( 100 );
        open = true;
    } else {
        $("#content").height( 0 );
        open = false;
    }
});

像这样放置两个div:

<div id="content">Stuff stuff stuff</div>
<br />
<div id="menu">MENU</div>
如果希望用户单击“打开”菜单,再次单击,它将关闭:

var open = false;
$("#content").height( 0 );
$("#menu").click(function(){
    if (open == false){
        $("#content").height( 100 );
        open = true;
    } else {
        $("#content").height( 0 );
        open = false;
    }
});
看看这个。刚刚在div中添加了一个边距样式。这就是您要找的吗

.open {
 margin-top : 80px;
 transform: rotateX(-180deg);
 box-shadow: 0 0 2px 1px rgba(0,0,0,0.3),
 inset 0 0 1px 1px #54AED0;
 background: linear-gradient(#33CEFE, #38D6FD);
}
看看这个。刚刚在div中添加了一个边距样式。这就是您要找的吗

.open {
 margin-top : 80px;
 transform: rotateX(-180deg);
 box-shadow: 0 0 2px 1px rgba(0,0,0,0.3),
 inset 0 0 1px 1px #54AED0;
 background: linear-gradient(#33CEFE, #38D6FD);
}

像这样更改代码

 $(function () {
    $('.cover').on('click', function(){
        if ($(this).css("position") == "absolute")
            $(this).css("position", "relative");
         else
            $(this).css("position", "absolute");
    });
 });

像这样更改代码

 $(function () {
    $('.cover').on('click', function(){
        if ($(this).css("position") == "absolute")
            $(this).css("position", "relative");
         else
            $(this).css("position", "absolute");
    });
 });


所以基本上你不想要菜单翻转效果吗?不,菜单效果很好,除非我点击菜单,我希望它像图片右侧那样展开。像这样,只需添加一个边距样式。打开检查我的答案。所以基本上你不想要菜单翻转效果吗?不,菜单效果很好,除非我点击菜单,我希望它像这样展开在图片的右侧。像这样,只需添加一个空白样式。打开检查我的答案。一切正常。我想让div扩展以显示里面的内容。一切都正常工作。我想让div扩展以显示里面的内容。一切都正常工作。我希望div展开以显示其中的内容。JSBIN会自动保存。您的小提琴正在工作,除了我仍然希望菜单像我的一样翻转:)如果您单击我的菜单,它会在我的JSBIN中翻转,因此我希望保持相同的效果,但也会像您的一样向下滑动。@SiKni8我相信您指的是菜单按钮的突出部分,这是我在JSBIN中看到的唯一效果。。勾选此项@SiKni8如果您接受答案(如果它有效的话)将非常好:)一切都正常运转。我希望div展开以显示其中的内容。JSBIN会自动保存。您的小提琴正在工作,除了我仍然希望菜单像我的一样翻转:)如果您单击我的菜单,它会在我的JSBIN中翻转,因此我希望保持相同的效果,但也会像您的一样向下滑动。@SiKni8我相信您指的是菜单按钮的突出部分,这是我在JSBIN中看到的唯一效果。。勾选此项@SiKni8如果您接受答案(如果它有效的话)将非常好:)