我想在点击“+”符号时制作可展开的页脚。 最初,我有一个非常小的页脚,只有版权信息和社交媒体链接。单击该符号后,我希望站点地图(以及其他一些内容)可以在版权信息之上滑动。
但是,我需要确保页面完全向下滚动。如果没有,面板将会滑动,但您将无法看到它..
这就是我现在所拥有的:
HTML
<div id="footer-wrapper" class="clearfix">
<footer>
<span id="footer-expander">+</span>
<section id="footer-hidden" class="clearfix">
<section id="sitemap" class="cols-3">
<h1>Sitemap</h1>
<ul>
<li><a href="">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Portfolio</a></li>
<li><a href="">Blog</a></li>
<li><a href="">Contact</a></li>
</ul>
</section>
<section class="cols-3">
<h1>Something else</h1>
</section>
<section class="cols-3">
<h1>Last, but not least.</h1>
</section>
</section>
<section id="footer-show" class="clearfix">
<p>© Helena Standaert.</p>
<section id="btm-socialmedia" class="socialmedia">
<ul>
<li class="twitter"><a href="">Twitter</a></li>
<li class="facebook"><a href="">Facebook</a></li>
<li class="linkedin"><a href="">LinkedIn</a></li>
<li class="rss"><a href="">RSS-feed</a></li>
</ul>
</section>
</section>
</footer>
</div>
JQUERY
$('#footer-expander').click(function(){
$('#footer-hidden').slideToggle('slow', function(){
goToByScroll('footer-wrapper')
if($('#footer-expander').html('-')){
$('#footer-expander').html('+');
}
if($('#footer-expander').html('+')){
$('#footer-expander').html('-');
}
});
})
答案 0 :(得分:1)
简化,滚动间隔由滚动
关闭var pageScroller = setInterval(function(){
scrollTo(0, document.scrollHeight)}, // Scroll to bottom
100 // every 100 ms correct. Can be 50, or 25, or whatever
);
$('#footer-hidden').slideToggle(600, function(){
clearInterval( pageScroller ); // stop the interval which was scrolling
});
答案 1 :(得分:0)
更简单的方法是使用sliteToggle的STEP选项。
只需使用以下内容更新您的javascript(通过适当的元素更改FOOTER_CONTAINER,该元素应该是您的页脚的包装器):
$('#footer-expander').click(function(){
$('#footer-hidden').slideToggle({duration: 'slow', step: function(){
$(FOOTER_CONTAINER).scrollIntoView(false);
}, complete: function(){
goToByScroll('footer-wrapper')
if($('#footer-expander').html('-')){
$('#footer-expander').html('+');
}
if($('#footer-expander').html('+')){
$('#footer-expander').html('-');
}
}});
});
有了这个,功能
$(FOOTER_CONTAINER).scrollIntoView(false);
将在每一步调用并将容器滚动到视图中(false将其与底部对齐)。