首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图添加幻灯片

试图添加幻灯片
EN

Stack Overflow用户
提问于 2014-08-22 13:55:39
回答 2查看 57关注 0票数 0

我要做的是添加一些幻灯片到我目前的幻灯片。最初只有9张幻灯片,但我不得不添加一些幻灯片。一开始我觉得就像改变一样简单

代码语言:javascript
复制
slider.slides = 9; 

代码语言:javascript
复制
slider.slides = 11;

但事实证明,这是困难的,因为额外的幻灯片没有显示,但原来的9是。

我将添加我正在使用的jQuery,希望这与此有关。如果没有,我将继续进行,并获得一个JSFiddle。

代码语言:javascript
复制
var slider = {};
        slider.current = 1;
        slider.slides = 11;
        slider.goto = function (slideNumber, callback) {
            var difference = Math.abs(this.current - slideNumber);
            this.current = slideNumber;

            $('#slides').stop().animate({
                left: (-(slideNumber-1)*100) + '%'
            }, 400*difference, callback);

            $('a[href^="#slide-"]').parent().removeClass('active');
            $('a[href="#slide-' + slideNumber + '"]').parent().addClass('active');
        }

        slider.prev = function(){
            if(this.current > 1) {
                var slideNumber = Number(this.current)-1;
                this.goto(slideNumber);
            }
        }

        slider.next = function(){
            if(this.current < this.slides) {
                var slideNumber = Number(this.current)+1;
                this.goto(slideNumber);
            }
        }

        $('a').bind('click', function(event){
            var link = $(this).attr('href');
            if (link.indexOf('#slide-') != -1) {
                event.preventDefault();

                var slideNumber = link.replace('#slide-','');
                if (slideNumber == 'next') {
                    slider.next();
                } else if (slideNumber == 'prev') {
                    slider.prev();
                } else {
                    slider.goto(slideNumber);
                }
            }
        });

        $(window).keydown(function(event){
            if(event.keyCode == 39) {
                slider.next();
            } else if (event.keyCode == 37) {
                slider.prev();
            }
        });

这是导航

代码语言:javascript
复制
    <ul>
        <li class="active"><a href="#slide-1">1</a></li>
        <li><a href="#slide-2">2</a></li>
        <li><a href="#slide-3">3</a></li>
        <li><a href="#slide-4">4</a></li>
        <li><a href="#slide-5">5</a></li>
        <li><a href="#slide-6">6</a></li>
        <li><a href="#slide-7">7</a></li>
        <li><a href="#slide-8">8</a></li>
        <li><a href="#slide-9">9</a></li>
        <li><a href="#slide-10">10</a></li>
        <li><a href="#slide-11">11</a></li>
        <li><a href="/resources/">Back</a></li>
    </ul>

如果不让我知道的话,我希望这已经足够了。

[不管怎么说,这是小提琴手,http://jsfiddle.net/cry4gLn6/1/ ]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 14:31:36

您应该在您的javascript中添加以下内容:

代码语言:javascript
复制
$('#slides').css('width', (slider.slides * 100) + '%');
$('.slide').css('width', (100 / slider.slides) + '%');

这将动态计算滑块使用任意数量的幻灯片所需的总宽度。我已经更新了你的小提琴在这里

票数 1
EN

Stack Overflow用户

发布于 2014-08-22 14:19:46

您只需更新#slides div的宽度即可。

目前它的900%

如果这个宽度是根据no使用jquery动态计算的。幻灯片,你的滑块将适用于任何不。幻灯片。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25448739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档