Javascript(当浏览器 window 超过 436px 时调整大小)
Javascript (Resize when browser window is over 436px)
我会尝试详细解释我想要什么,因为很难解释我想要它是什么样子。
我创建了一个响应式网站,我想在其中显示 3 个框:
(第 1 天-第 2 天-第 3 天)
See image how I want it to look
问题(试试这个,你会发现我的问题是什么:
- 调整屏幕大小 window 到小于 436 像素(所以你得到红色框)
- 然后点击Day 2,打开Day 2的内容
- 开始调整浏览器大小(然后关闭框 "Day 2"
自动地。我不希望它在调整大小时关闭。
我创建调整大小的原因是为了桌面,所以当在桌面上看到时它会扩展所有框。
我的代码:
$(document).ready(function() {
if($(window).width()<436)
$('.bbottom2').hide();
$('.btop').click(function(e) {
e.preventDefault();
var $menuItem = $(this).next('.bbottom, .bbottom2');
$menuItem.slideToggle();
});
});
$( window ).resize(function() {
if($(window).width()>436) $('.bbottom, .bbottom2').show();
else $('.bbottom2').hide();
});
.ticket{
margin:0;
padding:0;
float:left;
}
.btop2, .btop{
background-color:grey;
color:white;
padding:5px 10px;
display:block;
width:100px;
border-bottom:1px solid;
pointer-events:none;
}
.btop:hover{
background-color:darkgrey;
}
/*Responsive*/
@media screen and (max-width: 436px) {
.ticket{
margin:0;
padding:0;
float:none;
}
.btop{
background-color:red;
pointer-events:auto;
}
.btop:hover{
cursor:pointer;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ticket">
<div class="btop">Day 1</div>
<div class="bbottom">Price 20</div>
</div>
<div class="ticket">
<div class="btop">Day 2</div>
<div class="bbottom2">Price 99</div>
</div>
<div class="ticket">
<div class="btop">Day 3</div>
<div class="bbottom2">Price 149</div>
</div>
只需将 $menuItem.toggleClass( "bbottom2" );
添加到 .btop
按钮
并将 bbottom
class 添加到其他票证
$(document).ready(function() {
if($(window).width()<436)
$('.bbottom2').hide();
$('.btop').click(function(e) {
e.preventDefault();
var $menuItem = $(this).next('.bbottom, .bbottom2');
$menuItem.slideToggle();
$menuItem.toggleClass( "bbottom2" );
});
});
$( window ).resize(function() {
if($(window).width()>436) $('.bbottom, .bbottom2').show();
else $('.bbottom2').hide();
});
.ticket{
margin:0;
padding:0;
float:left;
}
.btop2, .btop{
background-color:grey;
color:white;
padding:5px 10px;
display:block;
width:100px;
border-bottom:1px solid;
pointer-events:none;
}
.btop:hover{
background-color:darkgrey;
}
/*Responsive*/
@media screen and (max-width: 436px) {
.ticket{
margin:0;
padding:0;
float:none;
}
.btop{
background-color:red;
pointer-events:auto;
}
.btop:hover{
cursor:pointer;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ticket">
<div class="btop">Day 1</div>
<div class="bbottom">Price 20</div>
</div>
<div class="ticket">
<div class="btop">Day 2</div>
<div class="bbottom bbottom2">Price 99</div>
</div>
<div class="ticket">
<div class="btop">Day 3</div>
<div class="bbottom bbottom2">Price 149</div>
</div>
我会尝试详细解释我想要什么,因为很难解释我想要它是什么样子。 我创建了一个响应式网站,我想在其中显示 3 个框:
(第 1 天-第 2 天-第 3 天)
See image how I want it to look
问题(试试这个,你会发现我的问题是什么:
- 调整屏幕大小 window 到小于 436 像素(所以你得到红色框)
- 然后点击Day 2,打开Day 2的内容
- 开始调整浏览器大小(然后关闭框 "Day 2" 自动地。我不希望它在调整大小时关闭。
我创建调整大小的原因是为了桌面,所以当在桌面上看到时它会扩展所有框。
我的代码:
$(document).ready(function() {
if($(window).width()<436)
$('.bbottom2').hide();
$('.btop').click(function(e) {
e.preventDefault();
var $menuItem = $(this).next('.bbottom, .bbottom2');
$menuItem.slideToggle();
});
});
$( window ).resize(function() {
if($(window).width()>436) $('.bbottom, .bbottom2').show();
else $('.bbottom2').hide();
});
.ticket{
margin:0;
padding:0;
float:left;
}
.btop2, .btop{
background-color:grey;
color:white;
padding:5px 10px;
display:block;
width:100px;
border-bottom:1px solid;
pointer-events:none;
}
.btop:hover{
background-color:darkgrey;
}
/*Responsive*/
@media screen and (max-width: 436px) {
.ticket{
margin:0;
padding:0;
float:none;
}
.btop{
background-color:red;
pointer-events:auto;
}
.btop:hover{
cursor:pointer;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ticket">
<div class="btop">Day 1</div>
<div class="bbottom">Price 20</div>
</div>
<div class="ticket">
<div class="btop">Day 2</div>
<div class="bbottom2">Price 99</div>
</div>
<div class="ticket">
<div class="btop">Day 3</div>
<div class="bbottom2">Price 149</div>
</div>
只需将 $menuItem.toggleClass( "bbottom2" );
添加到 .btop
按钮
并将 bbottom
class 添加到其他票证
$(document).ready(function() {
if($(window).width()<436)
$('.bbottom2').hide();
$('.btop').click(function(e) {
e.preventDefault();
var $menuItem = $(this).next('.bbottom, .bbottom2');
$menuItem.slideToggle();
$menuItem.toggleClass( "bbottom2" );
});
});
$( window ).resize(function() {
if($(window).width()>436) $('.bbottom, .bbottom2').show();
else $('.bbottom2').hide();
});
.ticket{
margin:0;
padding:0;
float:left;
}
.btop2, .btop{
background-color:grey;
color:white;
padding:5px 10px;
display:block;
width:100px;
border-bottom:1px solid;
pointer-events:none;
}
.btop:hover{
background-color:darkgrey;
}
/*Responsive*/
@media screen and (max-width: 436px) {
.ticket{
margin:0;
padding:0;
float:none;
}
.btop{
background-color:red;
pointer-events:auto;
}
.btop:hover{
cursor:pointer;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ticket">
<div class="btop">Day 1</div>
<div class="bbottom">Price 20</div>
</div>
<div class="ticket">
<div class="btop">Day 2</div>
<div class="bbottom bbottom2">Price 99</div>
</div>
<div class="ticket">
<div class="btop">Day 3</div>
<div class="bbottom bbottom2">Price 149</div>
</div>