我尝试根据互联网上的研究自己编写代码。我能够把它固定在底部。点击时,确实会滑出菜单;但当它应该向上推动选项卡以显示菜单时,它却向下滑出。如果我使用负边距并简单地更改bottom: -150为bottom: 0px单击,它确实会通过将其从窗口底部向上滑动来产生所需的行为,并且它会正确显示。但这意味着菜单将页面推过页面底部,而不是简单地隐藏。因此,当它“隐藏”时,人们只需向下滚动即可看到完整的菜单,但事实并非如此。
因此,bottom我尝试使用 来操作它,而不是使用$(this).show("slide"). 由于使用了滑动动画,菜单看起来扭曲了。
这是片段:
var supTabState = false;
$("#dccontainer").css('bottom', '-150px');
$("#dcsupporttab").click(function() {
$('#dcsupportcontainer').slideToggle(500, function() {
//execute this after slideToggle is done
});
supTabState = !supTabState;
if (supTabState) {
// $("#dccontainer").css('bottom', '0px');
$(this).show("slide", {
direction: "down"
}, 1000);
} else {
// $("#dccontainer").css('bottom', '-150px');
$(this).show("slide", {
direction: "up"
}, 1000);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="dccontainer">
<p id="dcsupporttab">Support</p>
<div id="dcsupportcontainer">
<div class="dcbutton" id="dcaslnow">
<a href="#" class="dcthelabel">ASL Now</a>
</div>
<div class="dcbutton" id="dctextchat">
<a href="#" class="dcthelabel">Text Chat</a>
</div>
<div class="dcbutton nonsolid" id="dcmessageus">
<a href="#" class="dcthelabel">Send Us a Message</a>
</div>
<p id="dcvpinfo">Video Chat: (123) 456-7890</p>
</div>
</div>
我尝试过各种技术。我尝试过使用 CSS 动画单独切换 CSS toggleClass
,我尝试过使用slide
,并且我尝试过使用slideToggle
. 我也尝试使用display: block;
而不是使用flexbox。两者具有相同的效果。研究互联网产生了几种可能的解决方案(我已经尝试过,但所有结果都相同),并且这些解决方案通常不是基于固定在窗口底部的元素。唯一最接近我正在寻找的东西的是:
http://atomicrobotdesign.com/blog_media/toggleslide_multiple.html
但奇怪的是,当我尝试使用相同的代码时,什么也没发生。单击没有调出菜单。此时我不知所措。我哪里错了?
这是我最新的尝试(使用上面的代码):https ://codepen.io/doncullen/pen/JjdrxzY
皈依舞
HUH函数
相关分类