【发布时间】:2016-03-31 14:34:17
【问题描述】:
我一直在整理一个个人项目。我对 Java 还比较陌生,所以边走边学。
基本上,我创建了一个网站,其中包含我希望沿 x 和 y 轴访问的部分。
我已使用锚链接使这些部分可访问,因此该网站确实链接到这些 div。
我还设法设置了垂直平滑滚动动画。所以我的页面可以使用以下代码自动上下滚动:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
但是,我似乎无法获得相同的滚动效果来申请位于左/右的 div。我想要发生的事情是,如果我单击一个链接,该链接应该转到位于左侧或右侧(屏幕外)的 Div,它会在保持相同的向上/向下动画的同时向左或向右进行类似的无缝平滑滚动。
基本上我想在同一页面上同时应用垂直和水平平滑滚动。
我需要进行哪些更改或添加才能应用此功能?
通过对上述代码进行一些调整,我设法在我的网站上实现了水平滚动。
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollLeft': $target.offset().left
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
这似乎适用于水平滚动。现在我需要让这些同时工作......
我已将两者添加到一个单独的文件中,并在我的 HTML 中引用了它们。然而现在只有水平的作品。无论如何要让两者同时工作?
【问题讨论】:
-
有可能吗?有人能帮忙吗?
标签: javascript jquery scroll jquery-animate smooth-scrolling