【问题标题】:jquery slideToggle's positionjquery slideToggle的位置
【发布时间】:2023-03-08 22:18:01
【问题描述】:

我有一个菜单 div 可以将菜单列表放在里面

// here is the javascript/jquery

$('#menu-tab').click(function(){
    $("#menu").slideToggle("normal");
});
/* for the css */

    #menu {
       width: 220px;
       border: 2px solid #004990;
       float: right;
       margin-right: 15px;
       margin-top: -52px;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

    <!--menu-->
		<a href="#"><div id="menu-tab">Menu</div></a>
		<div id="menu">
			<ul>
				<li><a href="#">a</a></li>
				<li><a href="#">b</a></li>
				<li><a href="#">c</li>
			</ul>
		</div>

因为margin-top: -52px;(我控制菜单在页面中的位置),所以每次点击菜单标签时,#menu都会从-52px滑动。如何让它从 0px 滑动?

【问题讨论】:

  • &lt;a&gt;&lt;div&gt;&lt;/div&gt;&lt;/a&gt;...严重吗?

标签: javascript jquery css


【解决方案1】:

您是否尝试过在制作动画之前修改样式?在滑动之前将 margin-top 设置为零。

$('#menu-tab').click(function(){
    $("#menu").css("margin-top","0px"); //this should set your menudiv to margin-top:0px
    $("#menu").slideToggle("normal");
});

【讨论】:

  • 我使用margin-top的原因:-52px;用于固定菜单在页面上的位置。如果我将它设置回零,菜单的位置也会改变。
  • 那么菜单已经在正确的位置了吗?那你为什么要让它从 margin-top:0px 滑动呢?也许您可以发布屏幕截图或其他内容,因为我无法理解您现在所问的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
  • 2022-01-15
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多