yas в рубрику JavaScript

Вопрос: Как доработать возврат на начало

Уважаемые, кто подскажет, как доработать уже готовый код, что бы был возврат к первому товару, без клика на "далее". т.е. если товаров 7, отображается по очереди 1 2 3 4 5 6 7 далее сразу за 7 следует 1.

код:

(function($){
$.fn.carousel = function(config) {
var defaults = {
slider: '.slider',
slide: '.slide',
prevSlide: '.prev',
nextSlide: '.next',
speed: 500
},
opt = $.extend(defaults, config),
dStyle = document.body.style,
transitionSupport = dStyle.webkitTransition !== undefined ||
dStyle.MozTransition !== undefined ||
dStyle.msTransition !== undefined ||
dStyle.OTransition !== undefined ||
dStyle.transition !== undefined;

$(opt.prevSlide).addClass('disabled');


function moveNext($slider) {
var leftmargin = $slider.attr('style').match(/margin\-left:(.*[0-9])/i) && parseInt(RegExp.$1),
$slide = $slider.find(opt.slide);

if (!$slider.is(":animated") && (-leftmargin) != (($slide.length - 1) * 100)) {
leftmargin -= 100;

if(transitionSupport) {
$slider.css('marginLeft', leftmargin + "%");
} else {
$slider.animate({ marginLeft: leftmargin + "%" }, opt.speed);
}
if((-leftmargin) == ($slide.length - 1) * 100) {
return false;
}
}
}

function movePrev($slider) {
var leftmargin = $slider.attr('style').match(/margin\-left:(.*[0-9])/i) && parseInt(RegExp.$1);

if(!$slider.is(":animated") && (leftmargin != 0)) {
leftmargin += 100;

if(transitionSupport) {
$slider.css('marginLeft', leftmargin + "%");
} else {
$slider.animate({ marginLeft: leftmargin + "%" }, opt.speed);
}
if(leftmargin == 0) {
return false;
}
}
}

$(opt.nextSlide + ',' + opt.prevSlide).click(function(e) {
var $el = $(this),
link = $el.attr('href'),
$target = $(opt.slider).filter(link);

$(opt.nextSlide).each(function() {
if($(this)[0] == $el[0]) {
if(moveNext($target) === false) {
$el.addClass('disabled');
};
$(opt.prevSlide).filter(function() {
return this.getAttribute('href') === link;
}).removeClass('disabled');
}
});

$(opt.prevSlide).each(function() {
if($(this)[0] == $el[0]) {
if(movePrev($target) === false) {
$el.addClass('disabled');
};
$(opt.nextSlide).filter(function() {
return this.getAttribute('href') === link;
}).removeClass('disabled');
}
});

e.preventDefault();
});


//swipes trigger move left/right
$(this).live( "swipe", function(e, ui){
(ui.direction === "left" ? moveNext : movePrev)($(this).find( opt.slider ));
});

return this.each(function() {
var $wrap = $(this),
$slider = $wrap.find(opt.slider),
$slide = $wrap.find(opt.slide),
slidenum = $slide.length,
speed = opt.speed / 300;

$wrap.css({
overflow: "hidden"
});

$slider.css({
marginLeft: "0px",
float: "left",
width: 32 * slidenum + "%",
"-webkit-transition": "margin-left " + speed + "s ease",
"-moz-transition": "margin-left " + speed + "s ease",
"-ms-transition": "margin-left " + speed + "s ease",
"-o-transition": "margin-left " + speed + "s ease",
"transition": "margin-left " + speed + "s ease"
});

$slide.css({
float: "left",
width: (100 / slidenum) + "%"
});
});
};


//modified swipe events from jQuery Mobile
// also handles swipeleft, swiperight
$.event.special.swipe = {
setup: function() {
var $el = $(this);

$el
.bind("touchstart", function(e) {
var data = e.originalEvent.touches ? e.originalEvent.touches[0] : e,
start = {
time: (new Date).getTime(),
coords: [ data.pageX, data.pageY ],
origin: $(e.target)
},
stop;

function moveHandler(e) {
if(!start) {
return;
}

var data = e.originalEvent.touches ? e.originalEvent.touches[0] : e;
stop = {
time: (new Date).getTime(),
coords: [ data.pageX, data.pageY ]
};

// prevent scrolling
if (Math.abs(start.coords[0] - stop.coords[0]) > 10) {
e.preventDefault();
}
}

$el
.bind("touchmove", moveHandler)
.one("touchend", function(e) {
$el.unbind("touchmove", moveHandler);
if (start && stop) {
if (stop.time - start.time < 1000 &&
Math.abs(start.coords[0] - stop.coords[0]) > 30 &&
Math.abs(start.coords[1] - stop.coords[1]) < 75) {
var left = start.coords[0] > stop.coords[0];
start.origin
.trigger("swipe", {direction: left ? "left" : "right"})
.trigger(left ? "swipeleft" : "swiperight" );
}
}
start = stop = undefined;
});
});
}
};
})(jQuery);

Задайте свой вопрос

Если у вас есть вопрос по разработке или дизайну сайтов, вы можете задать его на Временно.нет и тысячи наших читателей помогут вам найти на него ответ.

Задать свой вопрос

Расскажите друзьям

Ответы на вопрос — 0

Новый ответ

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler