Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Refactoring von JQUERY Slider Code
#1
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?
Zitat:
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");
});
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?
Simon Müller
http://www.itscoding.ch
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste