如何从头开始制作jquery滑块

cod*_*nja 3 html javascript css jquery

我在工作申请中被要求从头开始制作jQuery滑块插件.

我刚毕业时是一名计算机科学工程师,说实话,我从未在大学里接受关于jQuery的教育.完全没有.

我知道的很少,是因为我阅读了文档并进行了一些实验.

但是jQuery滑块与我目前的能力相差甚远.

我正在github上阅读这篇文章http://rafbm.github.io/howtomakeaslider/这很有说服力,但是仍然只是复制代码(顺便说一句,我完全不了解),因为我是什么需要/想要的是了解如何做一个.

关于我已经完成的小型自由职业,这很容易,因为我只是寻找插件,但现在我意识到我需要开始学习如何自己制作这些,并且最好先做一个滑块.

我需要什么?就像我在阅读时一样,我应该创建一个滑块类并为next(),prev()和goTo()滑动方法创建方法.问题在于,对于我所听到的,javascript/jQuery不是一种纯粹的OOP语言,而且它的完成方式不同.

将图像存储在数组中需要的基本内容是什么,知道当前位置并滑动到下一个/上一个?

非常感谢帮助.我的HTML和CSS标记如下:

        <!DOCTYPE html>
        <html>
        <head>
            <meta charset="utf-8">
            <title>Slider Plugin</title>
            <style type="text/css">
                a{
                    text-decoration: none;
                    color: black;
                    text-align: center;
                }
                .slider{
                    width: 300px;
                    height: 200px;
                    overflow: hidden;
                    float: left;
                }
                .slider > ul{
                    position: relative;
                    list-style: none;
                    margin: 0;
                    padding: 0;
                    -webkit-transition: 0.5s left;
                    -moz-transition: 0.5s left;
                    -ms-transition: 0.5s left;
                    -o-transition: 0.5s left;
                }
                .slider > ul li img{
                    width: 300px;
                    height: 200px;
                    overflow: hidden;
                }
                .img-thumb-container > ul{
                    list-style: none;
                    margin: 0;
                    padding: 0;
                }
                .thumb{
                    width: 50px;
                    height: 50px;
                    display: inline-block;
                    text-align: center;
                }
                .img-thumb-container{
                    float: left;
                    height: 150px;
                    width: 200px;
                }
            </style>
            <script src="js/jquery.js"></script>
            <script src="js/slider.js"></script>
        </head>
        <body>
            <div class="img-thumb-container">
                <ul>
                    <a href="#"><li><button type="button">&#8593;</button></li></a>
                    <a href="#"><li>
                        <img src="images/s1.jpg" class="thumb">
                    </li></a>
                    <a href="#"><li>
                        <img src="images/s2.jpg" class="thumb">
                    </li></a>
                    <a href="#"><li>
                        <img src="images/s3.jpg" class="thumb">
                    </li></a>
                    <a href="#"><li><button type="button">&#8595;</button></li></a>
                </ul>
            </div>
            <div class="slider">
                <ul>
                    <li><img src="images/s1.jpg"></li>
                    <li><img src="images/s2.jpg"></li>
                    <li><img src="images/s3.jpg"></li>
                </ul>
            </div>
        </body>
        </html>
Run Code Online (Sandbox Code Playgroud)

这是我理解的基本标记.

Kie*_*uca 10

在求职面试中我也被问到同样的事情,以下是我过去采访的代码:

HTML代码:

<div id="background-slideshow">
    <img id="home-image" class="slides" src="img/home-image.jpg" />
    <img id="shop-image" class="slides" src="img/shop-image.jpg" />
    <img id="dine-image" class="slides" src="img/dine-image.jpg" />
    <img id="watch-image" class="slides" src="img/watch-image.jpg" />
</div>
Run Code Online (Sandbox Code Playgroud)

CSS代码:

div#background-slideshow{
    position: relative;
    height: 745px;
    width: 1440px;
    position: absolute;
    top: 0px;
    right: -10px;
}

img.slides{
    position: absolute;
    width: 100%;
    top: 0px;
    right: 0px;
    height: 745px;
}

img#home-image{
    z-index: -666;
}

img#shop-image{
    z-index: -777;
}

img#dine-image{
    z-index: -888;
}

img#watch-image{
    z-index: -999;
}

JQUERY CODE:

var indexer = 0;
var animateInterval;

function animate(){
        if(indexer == 0){
            $("#background-slideshow > #watch-image").fadeOut(2000);
            $("#background-slideshow > #home-image").fadeIn(2000);
        }
        else if(indexer == 1){
            $("#background-slideshow > #home-image").fadeOut(2000);
            $("#background-slideshow > #shop-image").fadeIn(2000);
        }
        else if(indexer == 2){
            $("#background-slideshow > #shop-image").fadeOut(2000);
            $("#background-slideshow > #dine-image").fadeIn(2000);
        }
        else if(indexer == 3){
            $("#background-slideshow > #dine-image").fadeOut(2000);
            $("#background-slideshow > #watch-image").fadeIn(2000);
        }

        if(indexer == 3) indexer = 0;
        else indexer++;
    }

    animateInterval = setInterval(animate, 10000);
    animate();

试一试,祝你好运,我也从未在学校里学过它.


小智 5

你应该看看这个免费课程:

学习jQuery 30天

在完成第一章中的jQuery基础知识之后,您将学习如何从头开始构建滑块.

主要视频在关于效果 - 强制滑块(First Stab)的章节中.