简体   繁体   English

如何在最后一张幻灯片中停止我的 html 演示?

[英]How to stop my html presentation at the last slide?

I'm making a html presentation.我正在制作 html 演示文稿。 It had 15 slides.它有 15 张幻灯片。 I have it all working but when I get to the last slide you can continue pressing the left arrow key(the key press that goes to the next slide) to go to slides that I'm not using or even expecting to be there.我已经完成了所有工作,但是当我到达最后一张幻灯片时,您可以继续按左箭头键(转到下一张幻灯片的按键)到 go 到我不使用甚至不希望出现的幻灯片。 How can I stop the transition from slide to slide at the last slide.如何在最后一张幻灯片上停止从幻灯片到幻灯片的过渡。

this is all my javascript这就是我的全部 javascript

var Slides = {
    currentSlide: 0,
    totalSlides: '',
    slideWidth: '',
    translateAmount: 0,
    container: $("#slides"),

    init: function(totalSlides) {
        var each;

        if(!totalSlides) throw new Error('Please pass the number of slides');
        Slides.totalSlides = totalSlides;
        Slides.loadContent();
        each = Slides.container.children('div');
        Slides.slideWidth = each.width() + (parseInt(each.css('margin-right'), 10));
        Slides.keyPress();
    },
    loadContent: function() {
        Slides.container.hide();
        for (var i = 0; i < Slides.totalSlides; i++) {
            $('<div id="#slide-' +i+ '"></div>')
            .load('slides/' +i+ '.html')
            .appendTo(Slides.container);
        }
        Slides.container.show();
    },
    keyPress: function() {
        $(document.body).keydown(function(e) {
            if(e.keyCode === 39 || e.keyCode === 37) {
                e.preventDefault();
                (e.keyCode === 39)?Slides.next():Slides.prev();
            }
        });
    },
    next: function() {
        Slides.translateAmount -= Slides.slideWidth;
        Slides.updateHash(++Slides.currentSlide);
        Slides.animate();
    },
    prev: function() {
        if(Slides.translateAmount === 0) return;

        Slides.translateAmount += Slides.slideWidth;
        Slides.updateHash(--Slides.currentSlide);
        Slides.animate();
    },
    animate: function() {
        Slides.container
            .children()
                .css('-webkit-transform', 'translateX(' +Slides.translateAmount+ 'px)');

    },
    updateHash: function() {
        location.hash = '#slide-' +Slides.currentSlide;
    }
}

Slides.init(15);

You can check if currentSlide is equal to 14 (assuming slides start from 0).您可以检查currentSlide是否等于 14(假设幻灯片从 0 开始)。 If its true, just return from the next function如果是真的,就从next function 返回

next: function() {
    if (currentSlide === 14)   
        return;

    Slides.translateAmount -= Slides.slideWidth;
    Slides.updateHash(++Slides.currentSlide);
    Slides.animate();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM