mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 01:29 Benutzername: Passwort: Auto-Login

Thema: jquery laufband - einzelne bilder werden nicht angezeit vom 31.01.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> jquery laufband - einzelne bilder werden nicht angezeit
Autor Nachricht
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Di 31.01.2012 16:54
Titel

jquery laufband - einzelne bilder werden nicht angezeit

Antworten mit Zitat Zum Seitenanfang

vielleicht hat einer eine idee , was ich falsch mache. ich habe ein bilder laufband (image slider) angepasst. das funktiniert auch soweit einwandfrei, doch sobald ich das über wordpress einfüge wird nur ein bild angezeigt.

ich habe mir das so gedacht, dass die bilder aus wordpress (customfields einzelner posts) angezeigt werden. nach längerer fehlersuche kam ich zum entschluss, dass es am javascript liegt. denn wenn ich die classen und ids entferne werden die bilder angezeigt.

hier der link http://beta.sitgermany.com/, bitte drauf auchten, es geht um den slide "team"

Hier ein wenig code:

javascript:
Code:
<script type="text/javascript">
         $(function() {
         
           //remove js-disabled class
            $("#viewer").removeClass("js-disabled");
         
           //create new container for images
            $("<div>").attr("id", "container").css({ position:"absolute"}).width($(".wrapper").length * 325).height(500).appendTo("div#viewer");
              
            //add images to container
            $(".wrapper").each(function() {
               $(this).appendTo("div#container");
            });
            
            //work out duration of anim based on number of images (1 second for each image)
            var duration = $(".wrapper").length * 2500;
            
            //store speed for later (distance / time)
            var speed = (parseInt($("div#container").width()) + parseInt($("div#viewer").width())) / duration;
                        
            //set direction
            var direction = "rtl";
            
            //set initial position and class based on direction
            (direction == "rtl") ? $("div#container").css("left", $("div#viewer").width()).addClass("rtl") : $("div#container").css("left", 0 - $("div#container").width()).addClass("ltr") ;
            
            //animator function
            var animator = function(el, time, dir) {
            
               //which direction to scroll
               if(dir == "rtl") {
                
                 //add direction class
                  el.removeClass("ltr").addClass("rtl");
                      
                  //animate the el
                  el.animate({ left:"-" + el.width() + "px" }, time, "linear", function() {
                                    
                     //reset container position
                     $(this).css({ left:$("div#imageScroller").width(), right:"" });
                     
                     //restart animation
                     animator($(this), duration, "rtl");
                     
                     //hide controls if visible
                     ($("div#controls").length > 0) ? $("div#controls").slideUp("slow").remove() : null ;         
                                 
                  });
               } else {
               
                 //add direction class
                  el.removeClass("rtl").addClass("ltr");
               
                  //animate the el
                  el.animate({ left:$("div#viewer").width() + "px" }, time, "linear", function() {
                                    
                     //reset container position
                     $(this).css({ left:0 - $("div#container").width() });
                     
                     //restart animation
                     animator($(this), duration, "ltr");
                     
                     //hide controls if visible
                     ($("div#controls").length > 0) ? $("div#controls").slideUp("slow").remove() : null ;         
                  });
               }
            }
            
            //start anim
            animator($("div#container"), duration, direction);
            
            //pause on mouseover
            $("a.wrapper").live("mouseover", function() {
             
               //stop anim
               $("div#container").stop(true);
               
               //show controls
               ($("div#controls").length == 0) ? $("<div>").attr("id", "controls").appendTo("div#outerContainer").css({ opacity:0.7 }).slideDown("slow") : null ;
               ($("a#rtl").length == 0) ? $("<a>").attr({ id:"rtl", href:"#", title:"rtl" }).appendTo("#controls") : null ;
               ($("a#ltr").length == 0) ? $("<a>").attr({ id:"ltr", href:"#", title:"ltr" }).appendTo("#controls") : null ;
               
               //variable to hold trigger element
               var title = $(this).attr("title");
               
               //add p if doesn't exist, update it if it does
               ($("p#title").length == 0) ? $("<p>").attr("id", "title").text(title).appendTo("div#controls") : $("p#title").text(title) ;
            });
            
            //restart on mouseout
            $("a.wrapper").live("mouseout", function(e) {
             
               //hide controls if not hovering on them
               (e.relatedTarget == null) ? null : (e.relatedTarget.id != "controls") ? $("div#controls").slideUp("slow").remove() : null ;
               
               //work out total travel distance
               var totalDistance = parseInt($("div#container").width()) + parseInt($("div#viewer").width());
                                          
               //work out distance left to travel
               var distanceLeft = ($("div#container").hasClass("ltr")) ? totalDistance - (parseInt($("div#container").css("left")) + parseInt($("div#container").width())) : totalDistance - (parseInt($("div#viewer").width()) - (parseInt($("div#container").css("left")))) ;
               
               //new duration is distance left / speed)
               var newDuration = distanceLeft / speed;
            
               //restart anim
               animator($("div#container"), newDuration, $("div#container").attr("class"));

            });
                                    
            //handler for ltr button
            $("#ltr").live("click", function() {
                            
               //stop anim
               $("div#container").stop(true);
            
               //swap class names
               $("div#container").removeClass("rtl").addClass("ltr");
                              
               //work out total travel distance
               var totalDistance = parseInt($("div#container").width()) + parseInt($("div#viewer").width());
               
               //work out remaining distance
               var distanceLeft = totalDistance - (parseInt($("div#container").css("left")) + parseInt($("div#container").width()));
               
               //new duration is distance left / speed)
               var newDuration = distanceLeft / speed;
               
               //restart anim
               animator($("div#container"), newDuration, "ltr");
            });
            
            //handler for rtl button
            $("#rtl").live("click", function() {
                              
               //stop anim
               $("div#container").stop(true);
               
               //swap class names
               $("div#container").removeClass("ltr").addClass("rtl");
               
               //work out total travel distance
               var totalDistance = parseInt($("div#container").width()) + parseInt($("div#viewer").width());

               //work out remaining distance
               var distanceLeft = totalDistance - (parseInt($("div#viewer").width()) - (parseInt($("div#container").css("left"))));
               
               //new duration is distance left / speed)
               var newDuration = distanceLeft / speed;
            
               //restart anim
               animator($("div#container"), newDuration, "rtl");
            });
         });
      </script>



Hier code vom WP / PHP:

Code:

   <?php if (have_posts()) : ?>
     <?php $do_not_duplicate = array(); ?>
          <?php
       while ( have_posts() ) : the_post();
       $do_not_duplicate[] = get_the_ID();
     ?>
 
   <?php the_content(''); ?>
    <?php endwhile; ?>
   
   
       
        <div id="outerContainer">
               <div id="imageScroller">
                  <div id="viewer" class="js-disabled">
       
       
   <?php
      $random_query = new WP_Query(array(
      'post__not_in' => $do_not_duplicate,
      'showposts' => 300,
      'orderby' => 'date',
      'cat' => '3'
      ));
      while ($random_query->have_posts()) : $random_query->the_post(); ?>
     


   
 


                         <a class="wrapper box photo col3" href="<?php the_permalink() ?>" rel="bookmark" title=""><div class="thumbnail">   
                                <div class="hover_content" style="display: none; ">
                                    <div class="hover_info">
                                   
                                        <p><?php the_title_attribute(); ?>hallo</p>
                               
                                </div><!-- hover_info -->
                                    </div><!-- hover_content -->
           
                   
                            <img class="logo" id="" src="<?php $key="teambild"; echo get_post_meta($post->ID, $key, true); ?>" alt="<?php the_title_attribute(); ?>"></div><!--thumbnail --></a>




     
   
     <?php endwhile; ?>
     
     
     
 
   
    <?php else : ?>
... Inhalt wenn keine Posts vorhanden ...

    <?php endif; ?>
   
   


                      </div><!-- viewer -->
            </div><!-- imageScroller -->
      </div><!-- outerContainer -->

</div><!-- item -->


wäre sehr dankbar, wenn jm weiis was ich falsch mache
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 01.02.2012 13:18
Titel

Antworten mit Zitat Zum Seitenanfang

Zwischen den Bildern macht der dirn Leerzeichen rein, deswegen passen se nicht mehr in den generierten Container.
Also kannst se im HTML direkt aneinander kleben oder das SCript ein wenig abändern:
Code:
var wrapperanz= $(".wrapper").length;
$("<div>")
   .attr("id", "container")
   .css({
      position: "absolute",
      width: (wrapperanz*325)+(wrapperanz*10),
      height: 550
   })
   .appendTo("div#viewer");


Zuletzt bearbeitet von fyll am Mi 01.02.2012 13:24, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Mi 01.02.2012 14:08
Titel

hat geklappt

Antworten mit Zitat Zum Seitenanfang

vielen dank, es klappt jetzt Lächel
  View user's profile Private Nachricht senden
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Mi 01.02.2012 14:13
Titel

ein kleines problem ist aufgetreten

Antworten mit Zitat Zum Seitenanfang

der hover läuft nicht mehr auf beiden bildern, wird also auch nicht für alle übernommen. liegt es daran, wo ich das script eingefügt hatte?
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 01.02.2012 14:50
Titel

Re: ein kleines problem ist aufgetreten

Antworten mit Zitat Zum Seitenanfang

Ja - du sollst doch diese Zeile hier:
Code:
$("<div>").attr("id", "container").css({ position:"absolute"}).width($(".wrapper").length * 325).height(500).appendTo("div#viewer");
dadurch ersetzen *zwinker*

edit: hab da nochn typo drin - die 550 soll natürlich 500 sein ^^


Zuletzt bearbeitet von fyll am Mi 01.02.2012 14:51, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Do 02.02.2012 03:36
Titel

ganz lieben dank, klappt alles super!

Antworten mit Zitat Zum Seitenanfang

ganz lieben dank, klappt alles super!!!!
  View user's profile Private Nachricht senden
 
Ähnliche Themen PS Auswahlen in einzelne Bilder exportieren
Flash einzelne bilder aus .fla Datei Export?
JQuery Bilder Slider erstellen
jQuery Load Bilder und T-Mobil
JQUERY: Bestimmte Anzahl von Bilder einblenden
Problem mit Laufband
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.