我想制作这种滚动效果(链接:http://nicolas-bussiere.com/),但我不知道该怎么做。
我是jQuery的新手,所以我很难理解网站正在使用的复杂代码。我尝试使用Mousewheel插件进行滚动,但我永远无法理解。
这是我的网站 - > http://heeyounhong.com/
我有三个部分是"介绍","关于"和"工作"。 在"作品"部分,我有8个不同的项目。
在右侧,我的每个插图都如下所示。
pom.xml

<inherits>
&#13;
在左侧,我有8&#34; line&#34;像下面这样的div。
<!-- ** PROJECTS : RIGHT ** -->
<div class="content illustrations-container">
<ul class="illustrations">
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
<li class="illustration"></li>
</ul>
</div>
&#13;
我知道我的解释很粗糙,但我不能写出我写的所有代码。
我参考网站上的代码进行基准测试,并将大部分类我需要的滚动效果放在我的样式表(style.css)上。
答案 0 :(得分:0)
您需要做两件事,第一个鼠标滚轮事件:
$('#foo').bind('mousewheel', function(e){
if(e.originalEvent.wheelDelta /120 > 0) {
console.log('scrolling up !');
}
else{
console.log('scrolling down !');
}
});
然后您将需要跟踪视口中可见的div
function inViewport (el) {
var r, html;
if ( !el || 1 !== el.nodeType ) { return false; }
html = document.documentElement;
r = el.getBoundingClientRect();
return ( !!r
&& r.bottom >= 0
&& r.right >= 0
&& r.top <= html.clientHeight
&& r.left <= html.clientWidth
);
}
然后,当您拥有视口中的元素时,可以向上或向下选择元素并滚动到该元素。