gpt4 book ai didi

javascript - 溢出时如何调整内容和表格

转载 作者:行者123 更新时间:2023-11-30 12:24:40 24 4
gpt4 key购买 nike

在我的网页中,我有滑出侧边栏,当它滑出时,它会移动其他内容并溢出并添加涂鸦栏。我不希望溢出和内容保留在窗口内并根据剩余空间进行调整。

图片滑出侧边栏

enter image description here在这里我们可以看到内容在窗口内,没有溢出。但是当我们按下滑出侧边栏时,它会使剩余的内容溢出。请看下图。内容在窗口之外。
我想根据窗口调整内容但不溢出。同样,如果有表格,则根据窗口进行调整,但不会溢出。

enter image description here

CSS+html+javascript

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Making it swipeable - Swipeable Side Menu</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="jquery.touchSwipe.min.js"></script>


<style type="text/css">
body, html {
height: 100%;
margin: 0;
overflow:hidden;
font-family: helvetica;
font-weight: 100;
}
.container {
position: relative;
height: 100%;
width: 100%;
left: 0;
-webkit-transition: left 0.4s ease-in-out;
-moz-transition: left 0.4s ease-in-out;
-ms-transition: left 0.4s ease-in-out;
-o-transition: left 0.4s ease-in-out;
transition: left 0.4s ease-in-out;
}
.container.open-sidebar {
left: 240px;
}

.swipe-area {
position: absolute;
width: 50px;
left: 0;
top: 0;
height: 100%;
background: #f3f3f3;
z-index: 0;
}
#sidebar {
background: #DF314D;
position: absolute;
width: 240px;
height: 100%;
left: -240px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
#sidebar ul {
margin: 0;
padding: 0;
list-style: none;
}
#sidebar ul li {
margin: 0;
}
#sidebar ul li a {
padding: 15px 20px;
font-size: 16px;
font-weight: 100;
color: white;
text-decoration: none;
display: block;
border-bottom: 1px solid #C9223D;
-webkit-transition: background 0.3s ease-in-out;
-moz-transition: background 0.3s ease-in-out;
-ms-transition: background 0.3s ease-in-out;
-o-transition: background 0.3s ease-in-out;
transition: background 0.3s ease-in-out;
}
#sidebar ul li:hover a {
background: #C9223D;
}
.main-content {
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
-moz-box-sizing: border-box;
position: relative;
}
.main-content .content{
box-sizing: border-box;
-moz-box-sizing: border-box;
padding-left: 60px;
width: 100%;
}
.main-content .content h1{
font-weight: 100;
}
.main-content .content p{
width: 100%;
line-height: 160%;
}
.main-content #sidebar-toggle {
background: #DF314D;
border-radius: 3px;
display: block;
position: relative;
padding: 10px 7px;
float: left;
}
.main-content #sidebar-toggle .bar{
display: block;
width: 18px;
margin-bottom: 3px;
height: 2px;
background-color: #fff;
border-radius: 1px;
}
.main-content #sidebar-toggle .bar:last-child{
margin-bottom: 0;
}
</style>
<script type="text/javascript">
$(window).load(function(){
$("[data-toggle]").click(function() {
var toggle_el = $(this).data("toggle");
$(toggle_el).toggleClass("open-sidebar");
});
$(".swipe-area").swipe({
swipeStatus:function(event, phase, direction, distance, duration, fingers)
{
if (phase=="move" && direction =="right") {
$(".container").addClass("open-sidebar");
return false;
}
if (phase=="move" && direction =="left") {
$(".container").removeClass("open-sidebar");
return false;
}
}
});
});

</script>
</head>
<body>
<div class="container">
<div id="sidebar">
<ul>
<li><a href="demo3.html">Home</a></li>
<li><a href="demo3.html">Explore</a></li>
<li><a href="demo3.html">Users</a></li>
<li><a href="demo3.html">Sign Out</a></li>
</ul>
</div>
<div class="main-content">
<div class="swipe-area"></div>
<a href="#" data-toggle=".container" id="sidebar-toggle">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</a>
<div class="content">
<h1>Creating Swipeable Side Menu For the Web</h1>
<p>"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
</div>
</div>
</div>
</body>
</html>

最佳答案

JS

$(window).load(function(){
$("[data-toggle]").click(function() {
var toggle_el = $(this).data("toggle");
$(toggle_el).toggleClass("open-sidebar");
if($(toggle_el).hasClass("open-sidebar")){
console.log($('.content').width());
console.log(parseInt($('.content').width())-240);
$('.content').width(parseInt($('.content').width())-240);
}
else
$(".content").css('width','100%');
});
$(".swipe-area").swipe({
swipeStatus:function(event, phase, direction, distance, duration, fingers)
{
if (phase=="move" && direction =="right") {
$(".container").addClass("open-sidebar");
return false;
}
if (phase=="move" && direction =="left") {
$(".container").removeClass("open-sidebar");
return false;
}
}
});
});

既然你不想改变 overflow 属性,那么让我们借助 JQuery API 来实现这一点

if($(toggle_el).hasClass("open-sidebar")){
console.log($('.content').width());
console.log(parseInt($('.content').width())-240);
$('.content').width(parseInt($('.content').width())-240);
}
else
$(".content").css('width','100%');

上面动态计算宽度并调整你的内容因此我已经调整了屏幕的内容如果你想要你可以调整整个屏幕或有它的完整容器

DEMO

关于javascript - 溢出时如何调整内容和表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com