【发布时间】:2014-02-10 16:41:39
【问题描述】:
我有三个菜单链接,我希望它们水平导航到设置为溢出隐藏的容器 div 内的三个不同部分。
到目前为止,我只允许我滚动到 div 的最右侧,但当我单击另一个菜单链接时不会再次移动。
该脚本改编自 ScrollTop,它在 html、body 上运行良好,但与目标 div 上的 ScrollLeft 不同。
我的想法是,由于它在整个页面上垂直工作,我可以调整它以在目标区域上工作以水平操作,但到目前为止情况并非如此。如果有人可以帮助我解决这个问题,那将非常有帮助。
<menu id="portfolio-nav">
<a href="#design-industrial">
</a>
<a href="#design-print">
</a>
<a href="#design-photography">
</a>
</menu>
<div class="portfolio-container">
<div class="portfolio-horizontal-wrapper">
<div id="design-industrial" class="portfolio-content">
</div>
<div id="design-print" class="portfolio-content">
</div>
<div id="design-photography" class="portfolio-content">
</div>
</div>
</div>
<style>
.portfolio-container {
width: 260px;
height: 300px;
overflow-x: scroll;
overflow-y: hidden;
}
.portfolio-horizontal-wrapper {
width: auto;
height: 100%;
white-space:nowrap;
}
.portfolio-content {
width: 260px;
height: 100%;
display: inline-block;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('a[href^="#"]').on('click',function (event) {
event.preventDefault();
var target = this.hash,
$target = $(target);
$('.portfolio-container, .portfolio-horizontal-wrapper').animate({
'scrollLeft': $target.offset().left -62}, 1111, 'swing', function () {
});
});
});
</script>
【问题讨论】:
-
.start()是什么?你的 CSS 中的小错误,Height: 100%;应该是height: 100%;。 -
我删除了 start() ...我无法解释为什么会这样。我已经修正了错字。 @j08691 谢谢
标签: jquery