Javascript 重叠千斤顶滚动进近中的锚定标记
我正在尝试实现锚定点,以便在我的Jack Scrolling主页上滚动到某些“视图”。我使用了下图所示的方法。然而,由于这种方法,当被Javascript 重叠千斤顶滚动进近中的锚定标记,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试实现锚定点,以便在我的Jack Scrolling主页上滚动到某些“视图”。我使用了下图所示的方法。然而,由于这种方法,当被www.domain.com#xyz引用时,我的代码中的任何标记只显示我网站的第一个“页面”。我怎样才能解决这个问题,或者用另一种标记方法产生可比的结果 <div id="projects"> <section id="project-0" class="slide active"> Test 1</section>
www.domain.com#xyz
引用时,我的代码中的任何
标记只显示我网站的第一个“页面”。我怎样才能解决这个问题,或者用另一种标记方法产生可比的结果
<div id="projects">
<section id="project-0" class="slide active"> Test 1</section>
<section id="project-1" class="slide active"> testing 2</section>
<section id="project-2" class="slide active"> This is testing 3</section>
</div>
测试1
测试2
这是测试3
JS:
var delta=0;
var currentSlideIndex=0;
风险值阈值=30;
变量幻灯片=$(“.slide”);
var numSlides=slides.length;
功能元件滚动(e){
console.log(Math.abs(delta));
//---向上滚动---
如果(e.originalEvent.detail<0 | | e.originalEvent.wheelDelta>0){
三角洲--;
if(数学绝对值(增量)>=scrollThreshold){
prevSlide();
}
}
//---向下滚动---
否则{
delta++;
如果(增量>=滚动阈值){
nextSlide();
}
}
//防止页面滚动
返回false;
}
函数showSlide(){
delta=0;//重置
幻灯片。每个(功能(i,幻灯片){
$(幻灯片).toggleClass('active',(i>=currentSlideIndex));
});
}
函数prevSlide(){
currentSlideIndex--;
如果(currentSlideIndex<0){
currentSlideIndex=0;
}
幻灯片();
}
函数nextSlide(){
currentSlideIndex++;
如果(currentSlideIndex>numSlides){
currentSlideIndex=numSlides;
}
幻灯片();
}
$(窗口)({
“DOMMouseScroll鼠标滚轮”:元素滚动
});
非常感谢,为了帮助您阅读代码,方法是将每个幻灯片放在彼此的顶部,然后仅显示由滚动条索引定义的幻灯片(如果滚动条大于我们的滚动阈值,则滚动条索引会递增或递减)。-可能是在使用JQuery?谢谢你的帮助
var delta = 0;
var currentSlideIndex = 0;
var scrollThreshold = 30;
var slides = $(".slide");
var numSlides = slides.length;
function elementScroll (e) {
console.log (Math.abs(delta));
// --- Scrolling up ---
if (e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0) {
delta--;
if ( Math.abs(delta) >= scrollThreshold) {
prevSlide();
}
}
// --- Scrolling down ---
else {
delta++;
if (delta >= scrollThreshold) {
nextSlide();
}
}
// Prevent page from scrolling
return false;
}
function showSlide() {
delta = 0; // reset
slides.each(function(i, slide) {
$(slide).toggleClass('active', (i >= currentSlideIndex));
});
}
function prevSlide() {
currentSlideIndex--;
if (currentSlideIndex < 0) {
currentSlideIndex = 0;
}
showSlide();
}
function nextSlide() {
currentSlideIndex++;
if (currentSlideIndex > numSlides) {
currentSlideIndex = numSlides;
}
showSlide();
}
$(window).on({
'DOMMouseScroll mousewheel': elementScroll
});