我试图让我的滑块向相反的方向移动,但我不知道如何让它从右向左移动,而是从左向右移动。我可以让它从右到左,但我遇到的问题是从右到左的运动,它不会保持完整的网格,而是两者之间的神秘差距。使用从左到右的方法,网格作为一个巨大的块移动,没有任何中断。
我怎样才能使我的滑块从右到左并在最后一个 li 处停止,并且只用左箭头返回而不是通过按下右/按钮来完全环绕?
http://jsfiddle.net/YDSWA/2/(使用左右方向键移动滑块)
下面是我的滑块的 jS,jsFiddle 有 CSS 和 HTML。
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({
right: -slideWidth
}, 700, function () {
$('#slider ul li').prependTo('#slider ul');
$('#slider ul').css('right', '');
})
}
function moveRight() {
$('#slider ul').animate({
right: -slideWidth
}, 700, function () {
$('#slider ul li:first-child').appendTo('#slider ul');
$('#slider ul').css('right', '');
})
}
$('#back').click(function () {
moveLeft();
})
$('#next').click(function () {
moveRight();
})
$(document).keydown(function (e) {
if (e.keyCode == 39) {
moveRight();
} else {
}
})
$(document).keydown(function (e) {
if (e.keyCode == 37) {
moveLeft();
} else {
}
})
});
谢谢您的帮助!