0

このスライダーを Javascript (jquery) で自動再生しようとしていますが、動作しないようです。これを達成する方法を知っている人はいますか? 何かを試すたびに、スライダーのボタンが壊れているように見えました。

jsfiddle バージョン: http://jsfiddle.net/EsdB7/5/

現在のコードは次のとおりです。

jQuery(document).ready(function ($) {

    var slideCount = $('#slider ul li').length;
    var slideWidth = $('#slider ul li').width();
    var slideHeight = $('#slider ul li').height();
    var sliderUlWidth = slideCount * slideWidth;

    $('#slider').css({ width: slideWidth, height: slideHeight });

    $('#slider ul').css({ width: sliderUlWidth, marginLeft: - slideWidth });

    $('#slider ul li:last-child').prependTo('#slider ul');

    function moveLeft() {
        $('#slider ul').animate({
            left: + slideWidth
        }, 200, function () {
            $('#slider ul li:last-child').prependTo('#slider ul');
            $('#slider ul').css('left', '');
        });
    };

    function moveRight() {
        $('#slider ul').animate({
            left: - slideWidth
        }, 200, function () {
            $('#slider ul li:first-child').appendTo('#slider ul');
            $('#slider ul').css('left', '');
        });
    };

    $('a.control_prev').click(function () {
        moveLeft();
    });

    $('a.control_next').click(function () {
        moveRight();
    });

});    
4

2 に答える 2

0

次のコードを追加するだけです-

var auto = setInterval(moveRight, 1000); // 1000 ms = 1 sec

後 :

$('a.control_next').click(function () {
    moveRight();
});
 //any where after the declaration of moveRight function.

何が起こっているかというと、moveRight 関数が 1000 ミリ秒ごとに呼び出されているということです。
編集したコードの JS FIDDLE

于 2014-03-27T12:00:01.697 に答える