消失图像旋转时的标签

时间:2013-02-25 14:49:32

标签: javascript html

我正在使用一个简单的脚本,当点击并拖动或滑动4px时,一系列div变为可见或不可见以创建图像旋转效果。现在有趣的是,当我进行完整旋转时,系列中的第一个div不再可见,它只是跳过它。现在,最后的div和第一个div是同一个图像真的无关紧要,我只是好奇它为什么这样做。下面是轮换的脚本。

<script>
jQuery(document).ready(function ($) {
    var $product = $('#product'),
        $imgs = $product.find(".child"),
        imageTotal = $imgs.length - 1,
        clicked = false,
        widthStep = 4,
        currPos,
        currImg = 0,
        lastImg = 0;
    $imgs.bind('mousedown', function (e) {
        e.preventDefault(); // prevent dragging images
    })
        .filter(':gt(0)').addClass('notseen');

    $product.bind('mousedown touchstart', function (e) {
        if (e.type == "touchstart") {
            currPos = window.event.touches[0].pageX;
        } else {
            currPos = e.pageX;
        }
        clicked = true;
        return false;
    });
    $(document)
        .bind('mouseup touchend', function () {
        clicked = false;
    })
        .bind('mousemove touchmove', function (e) {
        if (clicked) {
            var pageX;
            if (e.type == "touchmove") {
                pageX = window.event.targetTouches[0].pageX;
            } else {
                pageX = e.pageX;
            }
            widthStep = 4;
            if (Math.abs(currPos - pageX) >= widthStep) {
                if (currPos - pageX >= widthStep) {
                    currImg++;
                    if (currImg > imageTotal) {
                        currImg = 1;
                    }
                } else {
                    currImg--;
                    if (currImg < 1) {
                        currImg = imageTotal;
                    }
                }
                currPos = pageX;
                $imgs.eq(lastImg).addClass('notseen');
                $imgs.eq(currImg).removeClass('notseen');
                lastImg = currImg;
                // $obj.html('<img src="' + aImages[options.currImg] + '" />');
            }
        }
    });
});
</script>

1 个答案:

答案 0 :(得分:1)

if (currImg > imageTotal) {
  currImg = 1;
}

应该是

if (currImg > imageTotal) {
  currImg = 0;
}