gpt4 book ai didi

javascript - 通过单击 JQuery 中的另一个 div 向左/向右和向上/向下移动 Div

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:44 25 4
gpt4 key购买 nike

根据以下答案,我设法向左/向右滑动了 div,但在顶部 div 方面遇到了一些问题。现在我想要的是1.使两条棕色线更细(如果我改变宽度,它会破坏动画)2.单击垂直棕色线时向左/向右滑动div,并相应地重新调整顶部div的宽度。3. 单击水平棕色线时向上/向下滑动顶部 div。我可以部分但不完美地做到这一点。有人可以帮帮我吗。在我下面

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<script src="JQuery.js"></script>
<script src="JQuery-UI.js"></script>
<%-- <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>--%>
<link href="App_Themes/Design.css" rel="stylesheet" />
<link href="App_Themes/PageDesigns.css" rel="stylesheet" />
<title></title>
<script type="text/javascript">
$(document).ready(function () {
$("#showHideDiv").click(function () {
if (!$('#divMenu').hasClass("off")) {
$('#divMenu').animate({ 'margin-left': '-95%' }, 500);
$('#divMenu').addClass("off");
$('.div3').animate({ 'left': '-10%', 'width': '99.3%', 'margin-left': '-10.5%' }, 500);
//$('.div3').animate({ 'left': '-10%', 'width': '99.3%', 'margin-left': '-10.5%' }, 500);

}
else {
$('#divMenu').animate({ 'margin-left': '0px' }, 500);
$('#divMenu').removeClass("off");
$('.div3').animate({ 'left': '-0%', 'width': '89%', 'margin-left': '-0%' }, 500);
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="float: left; width: 11%; height: 850px; padding: 0; margin: 0;">
<div id="divMenu" class="">
Sidebar- Menu
</div>
<div id="showHideDiv" style="float: left; height: 850px; width: 5%; background-color: brown;">
</div>
</div>
<div class="div3" style="float: left; width: 89%; ">
<div style="float: left; background-color: #93D209; width: 100%; height: 50px;display:block">
hello
</div>
<div style="height: 0.5%; width: 100%; background-color: brown;display:block">
hi
</div>
</div>
</form>
</body>
</html>

最佳答案

UPDATED DEMO

首先,我将 .div3 css 设置为:

.div3{
position: absolute;
width: 89%;
margin-left: 11%;
}

最初根据边栏的总宽度设置左边距。并将其设置为绝对位置,这样它就不会掉下来。如果适合您,您也可以将其设置为固定。

单击侧边栏开关时,.div3 设置为将其 margin-left 设置为 0% 并将其宽度增加到 99% 到 100%,以便占据整个屏幕。

 $('.div3').animate({ 'margin-left': '0%', 'width': '99.3%'}, 500);

在切换回侧边栏的同时,将 .div3 设置为其原始/初始边距左侧 11% 和宽度 89% 的动画。

 $('.div3').animate({ 'margin-left': '11%', 'width': '89%'}, 500);

至于顶部开关,我添加了这个 jQuery:

 $("#switch2").click(function () {
if (!$('#topDiv').hasClass("off")) {
$('#topDiv').animate({ 'margin-top': '-95%' }, 500);
$('#topDiv').addClass("off");

}
else {
$('#topDiv').animate({ 'margin-top': '0px' },500);
$('#topDiv').removeClass("off");
}
});

并将 id 属性(#topDiv 和#switch2)添加到相关的 html 标签中。

喜欢:

<div class="div3">
<div id="topDiv">
hello
</div>
<div id="switch2">
hi
</div>
</div>

整个 jQuery 脚本:

$("#showHideDiv").click(function () {
if (!$('#divMenu').hasClass("off")) {
$('#divMenu').animate({ 'margin-left': '-95%' }, 500);
$('#divMenu').addClass("off");
$('.div3').animate({ 'margin-left': '0%', 'width': '99.3%'}, 500);

}
else {
$('#divMenu').animate({ 'margin-left': '0px' }, 500);
$('#divMenu').removeClass("off");
$('.div3').animate({ 'margin-left': '11%', 'width': '89%'}, 500);
}
});
$("#switch2").click(function () {
if (!$('#topDiv').hasClass("off")) {
$('#topDiv').animate({ 'margin-top': '-95%' }, 500);
$('#topDiv').addClass("off");

}
else {
$('#topDiv').animate({ 'margin-top': '0px' },500);
$('#topDiv').removeClass("off");
}
});

Working Sample

关于javascript - 通过单击 JQuery 中的另一个 div 向左/向右和向上/向下移动 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733951/

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