我试图在我的网站上实现skrollr-menu。我想要它做的是当点击按钮时向下滚动到最底部(我已经工作得很好。问题是无论我做什么,我都不能让它慢于500ms我已尝试更改所包含代码中的持续时间,如说明所示,但这并不起作用。无论我做什么,是否更改jQuery中的持续时间,或尝试通过类强制它它始终保持在500毫秒。由于我的页面大约是18000像素长,看起来非常可怕。我该如何更改它?
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`.
});
答案 0 :(得分:0)
我的问题的答案当然是...拼写错误。
请注意所包含脚本中的文件名。
<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函数根本不起作用。