Expand/shrink div 点击
Expand/shrink div on click
我一直在练习 expand/shrink 点击 html/css/jquery,但由于某些原因,它不起作用。我知道那里有一些,但我已经试过了,none 正在使用我的代码。
PS:目前我正在尝试扩展一个
我的objective:
使用 4 个 div 方块,所有方块都是可点击的(如菜单),当用户点击时,它会展开一个完整的页面并加载内容(可以是外部 html 或相同的代码在 index.html 页面上),当然,在角落有一个 "close" icon/image。
从正方形所在的位置开始,我希望它扩展到整页,有一些基本的 width/height 过渡,有点淡出(有点 material 设计)。
我的代码有什么问题?
HTML
<div class="content">
<div id="menu1">
<!-- quadrado 1 -->
</div>
<div id="menu2">
<!-- quadrado 2 -->
</div>
<br/>
<div id="menu3">
<!-- quadrado 3 -->
</div>
<div id="menu4">
<!-- quadrado 4 -->
</div>
</div>
CSS
.content{
display: inline;
width: 400px;
height: 200px;
margin: 0 auto;
}
#menu1.fullscreen{
z-index: 9;
width: 100%;
height: 100%;
position: fixed;
background-color: #131313;
}
#menu1, #menu2, #menu3, #menu4{display: inline-block; width:200px; height:200px;}
#menu1{background: red;}
#menu2{background: green;}
#menu3{background: blue;}
#menu4{background: orange;}
JS
$(window).scroll(function(){
$(".content").click(function(e){
$("#menu1").toggleClass('fullscreen');
});
});
Fiddle: http://jsfiddle.net/a7nzy6w6/6/
为什么 $(window).scroll(function(){...});
而不是 $(document).ready(function(){...});
?
片段
$(document).ready(function() {
$(".content").click(function(e) {
$("#menu1").toggleClass('fullscreen');
});
});
.content {
display: inline;
width: 400px;
height: 200px;
margin: 0 auto;
}
#menu1.fullscreen {
z-index: 9;
width: 100%;
height: 100%;
position: fixed;
background-color: #131313;
}
#menu1,
#menu2,
#menu3,
#menu4 {
display: inline-block;
width: 200px;
height: 200px;
}
#menu1 {
background: red;
}
#menu2 {
background: green;
}
#menu3 {
background: blue;
}
#menu4 {
background: orange;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="content">
<div id="menu1">
<!-- quadrado 1 -->
</div>
<div id="menu2">
<!-- quadrado 2 -->
</div>
<br/>
<div id="menu3">
<!-- quadrado 3 -->
</div>
<div id="menu4">
<!-- quadrado 4 -->
</div>
</div>
您正在将点击事件放置在滚动事件中。这意味着您必须在滚动时单击。
只这样试试
$(".content").click(function(){
$("#menu1").toggleClass('fullscreen');
});
或者像这样把它包在准备好的文件里面
$(document).ready(function(){
$(".content").click(function(){
$("#menu1").toggleClass('fullscreen');
});
});
并从 click(e) 中删除 (e) ... 直接写 click()
让我知道这是否有效
通过将您的代码放在 $(window).scroll()
的回调函数中,您必须滚动并同时点击才能到达独立于 [=11= 的回调函数的代码=12=].
尝试将您的代码放在 $(document).ready(function(){ ... })
中,因为这将确保 DOM 已准备好进行操作,然后您的代码将 运行 正常。
$(document).ready(function(){
$(".content").click(function(e){
$("#menu1").toggleClass('fullscreen');
});
});
我一直在练习 expand/shrink 点击 html/css/jquery,但由于某些原因,它不起作用。我知道那里有一些,但我已经试过了,none 正在使用我的代码。
PS:目前我正在尝试扩展一个
我的objective:
使用 4 个 div 方块,所有方块都是可点击的(如菜单),当用户点击时,它会展开一个完整的页面并加载内容(可以是外部 html 或相同的代码在 index.html 页面上),当然,在角落有一个 "close" icon/image。
从正方形所在的位置开始,我希望它扩展到整页,有一些基本的 width/height 过渡,有点淡出(有点 material 设计)。
我的代码有什么问题?
HTML
<div class="content">
<div id="menu1">
<!-- quadrado 1 -->
</div>
<div id="menu2">
<!-- quadrado 2 -->
</div>
<br/>
<div id="menu3">
<!-- quadrado 3 -->
</div>
<div id="menu4">
<!-- quadrado 4 -->
</div>
</div>
CSS
.content{
display: inline;
width: 400px;
height: 200px;
margin: 0 auto;
}
#menu1.fullscreen{
z-index: 9;
width: 100%;
height: 100%;
position: fixed;
background-color: #131313;
}
#menu1, #menu2, #menu3, #menu4{display: inline-block; width:200px; height:200px;}
#menu1{background: red;}
#menu2{background: green;}
#menu3{background: blue;}
#menu4{background: orange;}
JS
$(window).scroll(function(){
$(".content").click(function(e){
$("#menu1").toggleClass('fullscreen');
});
});
Fiddle: http://jsfiddle.net/a7nzy6w6/6/
为什么 $(window).scroll(function(){...});
而不是 $(document).ready(function(){...});
?
片段
$(document).ready(function() {
$(".content").click(function(e) {
$("#menu1").toggleClass('fullscreen');
});
});
.content {
display: inline;
width: 400px;
height: 200px;
margin: 0 auto;
}
#menu1.fullscreen {
z-index: 9;
width: 100%;
height: 100%;
position: fixed;
background-color: #131313;
}
#menu1,
#menu2,
#menu3,
#menu4 {
display: inline-block;
width: 200px;
height: 200px;
}
#menu1 {
background: red;
}
#menu2 {
background: green;
}
#menu3 {
background: blue;
}
#menu4 {
background: orange;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="content">
<div id="menu1">
<!-- quadrado 1 -->
</div>
<div id="menu2">
<!-- quadrado 2 -->
</div>
<br/>
<div id="menu3">
<!-- quadrado 3 -->
</div>
<div id="menu4">
<!-- quadrado 4 -->
</div>
</div>
您正在将点击事件放置在滚动事件中。这意味着您必须在滚动时单击。
只这样试试
$(".content").click(function(){
$("#menu1").toggleClass('fullscreen');
});
或者像这样把它包在准备好的文件里面
$(document).ready(function(){
$(".content").click(function(){
$("#menu1").toggleClass('fullscreen');
});
});
并从 click(e) 中删除 (e) ... 直接写 click() 让我知道这是否有效
通过将您的代码放在 $(window).scroll()
的回调函数中,您必须滚动并同时点击才能到达独立于 [=11= 的回调函数的代码=12=].
尝试将您的代码放在 $(document).ready(function(){ ... })
中,因为这将确保 DOM 已准备好进行操作,然后您的代码将 运行 正常。
$(document).ready(function(){
$(".content").click(function(e){
$("#menu1").toggleClass('fullscreen');
});
});