我正试图在我的网站上实现斯克罗尔菜单。我想要做的是在点击按钮时向下滚动到最底层(我已经很好地工作了)。问题是,无论我做什么,我都不能让它慢到500毫秒以下。正如描述所示,我试图更改包含的代码中的持续时间,但这是行不通的。无论我做什么,无论是改变jQuery中的持续时间,还是试图通过类强制它,它总是保持在500 it。因为我的页面大约有18000 to长,所以看上去简直太可怕了。我该怎么改呢?
HTML
<a href="#slide-7" data-menu-top="18000" data-menu-duration="10000"><div class="trigger-scroll left">></div></a>
.....
<section id="slide-7" class="scroll-here">
<div class="hsContainer bottom"></div>
</section>
<!-- Includes -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="parallax/js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
<script src="parallax/js/imagesloaded.js"></script>
<script src="parallax/js/skrollr.js"></script>
<script src="parallax/js/skroller.menu.min.js"></script>
<script src="parallax/js/_main.js"></script>JavaScript
skrollr.menu.init(s, {
//skrollr will smoothly animate to the new position using `animateTo`.
animate: true,
//The easing function to use.
easing: 'sqrt',
//Multiply your data-[offset] values so they match those set in skrollr.init
scale: 2,
//How long the animation should take in ms.
duration: function(currentTop, targetTop) {
//By default, the duration is hardcoded at 500ms.
return 10000;
//But you could calculate a value based on the current scroll position (`currentTop`) and the target scroll position (`targetTop`).
//return Math.abs(currentTop - targetTop) * 10;
},
//If you pass a handleLink function you'll disable `data-menu-top` and `data-menu-offset`.
//You are in control where skrollr will scroll to. You get the clicked link as a parameter and are expected to return a number.
handleLink: function(link) {
return 400;//Hardcoding 400 doesn't make much sense.
},
//By default skrollr-menu will only react to links whose href attribute contains a hash and nothing more, e.g. `href="#foo"`.
//If you enable `complexLinks`, skrollr-menu also reacts to absolute and relative URLs which have a hash part.
//The following will all work (if the user is on the correct page):
//http://example.com/currentPage/#foo
//http://example.com/currentDir/currentPage.html?foo=bar#foo
///?foo=bar#foo
complexLinks: false,
//This event is triggered right before we jump/animate to a new hash.
change: function(newHash, newTopPosition) {
//Do stuff
},
//Add hash link (e.g. `#foo`) to URL or not.
updateUrl: false //defaults to `true`.
});发布于 2015-05-16 18:39:50
我问题的答案是..。当然..。拼写错误。
注意所包含的脚本中的文件名。
<script src="parallax/js/skrollr.js"></script>
<script src="parallax/js/skroller.menu.min.js"></script>
<script src="parallax/js/_main.js"></script>中间脚本的名称中有一个意外的"e“,没有导致任何错误,但也没有加载文件,因此JavaScript函数根本无法工作。
https://stackoverflow.com/questions/30260399
复制相似问题