gpt4 book ai didi

javascript - 通过 JS 删除 X 类时添加类

转载 作者:行者123 更新时间:2023-12-03 04:12:12 24 4
gpt4 key购买 nike

当用 JS 删除另一个类时,我试图向 div 添加一个类。

这是我的 HTML:

<body class="homepage">

<div id="wrap">

<div id="projects">
<section id="project-0" class="slide active"> Slide 1</section>
<section id="project-1" class="slide active"> Slide 2</section>
<section id="project-2" class="slide active"> Slide 3</section>
</div>
</div>
<div class="content"> Website main content </div>

这是一个垂直滑动,所以当你向下滚动时,active类会被JS移除。我想要实现的是当从 project-2 中删除 active 时,向 body 添加一个类。

这是我到目前为止所拥有的,但它无法识别 active 类,因为它是通过 JS 添加的...

if(!$("#project-2").hasClass("active")){
$("body").addClass("shifted");
}

JS:

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() {

// reset
delta = 0;

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
});

You can see here how it works谢谢

最佳答案

通过查看您的 JS 代码,我相信您希望在向下滚动时将 class 添加到 body 中。您可以尝试以下代码:

function prevSlide() {

currentSlideIndex--;

if(currentSlideIndex == (numSlides-1))
{
$("body").removeClass("shifted"); // remove the class from body
}
if (currentSlideIndex < 0) {
currentSlideIndex = 0;
}

showSlide();
}

function nextSlide() {

currentSlideIndex++;

if (currentSlideIndex > numSlides) {
currentSlideIndex = numSlides;

$("body").addClass("shifted"); // add the class to body

}

showSlide();
}

关于javascript - 通过 JS 删除 X 类时添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44281395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com