06.04.2015, 11:55
Halllo Zusammen
Ich bin nicht gerade ein JavaScript/Jquery Profi
kann mit jemand tipps geben wie ich z.b. diesen Code hier ein wenig "einfacher" schreiben kann?
Ich bin nicht gerade ein JavaScript/Jquery Profi
kann mit jemand tipps geben wie ich z.b. diesen Code hier ein wenig "einfacher" schreiben kann?
Zitat:Das ganze ist ein slider der alle 5 Sekunden ein bild weiter "slidet" und wenn er am ende angekommen ist geht er wider zurück... gäbe es nicht eine einfachere varriante ? und was mich auch stört ist, ich musste den code für $document ready und für window.resize kopieren (DRY) hatt jemand tipps wie ich das einfach verhindern kann?Code:var i=0;
function slide() {
i = 0;
margin = $(window).width() * i;
direction = 'right';
function plus() {
if (margin < line - $(window).width() && direction == 'right') {
i++
} else {
if (margin < 1) {
direction = 'right';
} else {
direction = 'left';
i--;
}
}
margin = $(window).width() * i
}
setInterval(function () {$('.slider').animate({'margin-left': -margin + "px"}), plus()}, 5000);
}
$(document).ready(function () {
elements = $('.slider li');
width = $(window).width();
line = elements.length * width;
$('.slider_element').css('width', width + "px");
$('.slider').css('width', line + "px");
slide();
});
$(window).resize(function () {
elements = $('.slider li');
width = $(window).width();
line = elements.length * width;
var direction = "right";
margin = $(window).width()*i;
$('.slider').css('margin-left', '0px');
$('.slider_element').css('width', width + "px");
$('.slider').css('width', line + "px");
});
Simon Müller
http://www.itscoding.ch
http://www.itscoding.ch