Beiträge von DVDFreak
-
-
Genial! Das funktioniert wurderbar! Weiß garnicht, wie ich Dir danken kann!!!!!
-
Also versucht hatte ich genau deinen Ansatz von oben.
Das Ganze funktioniert ja mit
Code<a href="javascript:slideShow.nav(-1)" class="imgnav " id="previmg"></a> <a href="javascript:slideShow.nav(1)" class="imgnav " id="nextimg"></a>
Darum gehe ich davon aus, dass 'value' eine Ziffer sein muss.
Ich habe zwar weniger Ahnung von JS, aber + und - verstehe ich auch noch. Vielleicht irre ich michAlso hatte ich auch versucht, Value als Ziffer zu lassen und lediglich die Datei sowie den Link zu ändern. Dann wird zwar das Thumbnail angezeigt, doch bleibt es beim großen Bild beim Laden. Erst nach Ablauf des Delay, wenn er zum nächsten Bild springt, wird wieder das große Bild angezeigt.
In der JS steht ja auch
Die id ist also definiert als Dateiname (nummerisch?) und imgext (also jpg).
Ich würde sagen, das muss irgendwo am Folgenden liegen:
Codevar id=t[i].value; tar[i]=id; t[i].onclick=new Function("slideShow.getimg('"+id+"')"); if(i==0){this.getimg(id)}
Und da reichen meine logischen Schlussfolgerungen nicht mehr aus
-
Das hatte ich so auch schon versucht - vergebens.
Hier ist die Entwicklerseite, inkl. Zip mit den Files: http://www.scriptiny.com/2008/05/ajax-i…lery-slideshow/
Danke für deine Mühe!!!
-
also spontan würd ich behaupten dass du den value (übrigens ein nicht valides attribut in den LI-tags) bei den LI´s zu nem namen machen musst und dann eben das bild mit entsprechendem namen bezeichnen.
is alles nich so easy mit den minifizierten scripts, bzw wenn einer tatsächlich so programmiert is er kaputter im kopf als man glauben mag
und mit jquery is sowas viel schneller und simpler gelöst
Das mit den LI Tags hatte ich bereits versucht. Dann zeigt er mir nur das Thumbnail an, nicht aber das große Bild.
-
kannste des mal anständig formatieren, ich mein dass du codetags gesetzt hast in allen ehren, aber den kastenscheiss da kann doch keiner anständig überblicken
Sorry, keine Ahnung, warum er es so anzeigte. Dachte, das muss so sein. Habs geändert. -
Hi
ich habe folgende AJAX Gallery
HTML
Alles anzeigen[TABLE] [TR] [TD='class: number'][/TD] [TD='class: content'][/TD] [/TR] [/TABLE] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>AJAX Photo Gallery</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="gallery"> <div id="imagearea"> <div id="image"> <a href="javascript:slideShow.nav(-1)" class="imgnav " id="previmg"></a> <a href="javascript:slideShow.nav(1)" class="imgnav " id="nextimg"></a> </div> </div> <div id="thumbwrapper"> <div id="thumbarea"> <ul id="thumbs"> <li value="1"><img src="thumbs/1.jpg" width="179" height="100" alt="" /></li> <li value="2"><img src="thumbs/2.jpg" width="179" height="100" alt="" /></li> <li value="3"><img src="thumbs/3.jpg" width="179" height="100" alt="" /></li> <li value="4"><img src="thumbs/4.jpg" width="179" height="100" alt="" /></li> <li value="5"><img src="thumbs/5.jpg" width="179" height="100" alt="" /></li> </ul> </div> </div> </div> <script type="text/javascript"> var imgid = 'image'; var imgdir = 'fullsize'; var imgext = '.jpg'; var thumbid = 'thumbs'; var auto = true; var autodelay = 5; </script> <script type="text/javascript" src="slide.js"></script> </body> </html>
mit folgender slide.js Datei
Code
Alles anzeigen[TABLE] [TR] [TD='class: number'][/TD] [TD='class: content'][/TD] [/TR] [/TABLE] var slideShow=function(){ var bxs,bxe,fxs,fxe,ys,ye,ta,ia,ie,st,ss,ft,fs,xp,yp,ci,t,tar,tarl; ta=document.getElementById(thumbid); ia=document.getElementById(imgid); t=ta.getElementsByTagName('li'); ie=document.all?true:false; st=3; ss=3; ft=10; fs=5; xp,yp=0; return{ init:function(){ document.onmousemove=this.pos; window.onresize=function(){setTimeout("slideShow.lim()",500)}; ys=this.toppos(ta); ye=ys+ta.offsetHeight; len=t.length;tar=[]; for(i=0;i<len;i++){ var id=t[i].value; tar[i]=id; t[i].onclick=new Function("slideShow.getimg('"+id+"')"); if(i==0){this.getimg(id)} } tarl=tar.length; }, scrl:function(d){ clearInterval(ta.timer); var l=(d==-1)?0:(t[tarl-1].offsetLeft-(ta.parentNode.offsetWidth-t[tarl-1].offsetWidth)+10) ta.timer=setInterval(function(){slideShow.mv(d,l)},st); }, mv:function(d,l){ ta.style.left=ta.style.left||'0px'; var left=ta.style.left.replace('px',''); if(d==1){ if(l-Math.abs(left)<=ss){ this.cncl(ta.id); ta.style.left='-'+l+'px'; }else{ta.style.left=left-ss+'px'} }else{ if(Math.abs(left)-l<=ss){ this.cncl(ta.id); ta.style.left=l+'px'; }else{ta.style.left=parseInt(left)+ss+'px'} } }, cncl:function(){clearTimeout(ta.timer)}, getimg:function(id){ if(auto){clearTimeout(ia.timer)} if(ci!=null){ var ts,tsl,x; ts=ia.getElementsByTagName('img'); tsl=ts.length;x=0; for(x;x<tsl;x++){ if(ci.id!=id){var o=ts[x]; clearInterval(o.timer); o.timer=setInterval(function(){slideShow.fdout(o)},fs)} } } if(!document.getElementById(id)){ var i=document.createElement('img'); ia.appendChild(i); i.id=id; i.av=0; i.style.opacity=0; i.style.filter='alpha(opacity=0)'; i.src=imgdir+'/'+id+imgext; }else{ i=document.getElementById(id); clearInterval(i.timer); } i.timer=setInterval(function(){slideShow.fdin(i)},fs); }, nav:function(d){ var c=0; for(key in tar){if(tar[key]==ci.id){c=key}} if(tar[parseInt(c)+d]){ this.getimg(tar[parseInt(c)+d]); }else{ if(d==1){ this.getimg(tar[0]); }else{this.getimg(tar[tarl-1])} } }, auto:function(){ia.timer=setInterval(function(){slideShow.nav(1)},autodelay*1000)}, fdin:function(i){ if(i.complete){i.av=i.av+fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'} if(i.av>=100){if(auto){this.auto()}; clearInterval(i.timer); ci=i} }, fdout:function(i){ i.av=i.av-fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'; if(i.av<=0){clearInterval(i.timer); if(i.parentNode){i.parentNode.removeChild(i)}} }, lim:function(){ var taw,taa,len; taw=ta.parentNode.offsetWidth; taa=taw/4; bxs=slideShow.leftpos(ta); bxe=bxs+taa; fxe=bxs+taw; fxs=fxe-taa; }, pos:function(e){ xp=ie?event.clientX+document.documentElement.scrollLeft:e.pageX; yp=ie?event.clientY+document.documentElement.scrollTop:e.pageY; if(xp>bxs&&xp<bxe&&yp>ys&&yp<ye){ slideShow.scrl(-1); }else if(xp>fxs&&xp<fxe&&yp>ys&&yp<ye){ slideShow.scrl(1); }else{slideShow.cncl()} }, leftpos:function(t){ var l=0; if(t.offsetParent){ while(1){l+=t.offsetLeft; if(!t.offsetParent){break}; t=t.offsetParent} }else if(t.x){l+=t.x} return l; }, toppos:function(t){ var p=0; if(t.offsetParent){ while(1){p+=t.offsetTop; if(!t.offsetParent){break}; t=t.offsetParent} }else if(t.y){p+=t.y} return p; } }; }(); window.onload=function(){slideShow.init(); slideShow.lim()};
Das Ganze sieht dann so aus http://sandbox.scriptiny.com/slideshow/
Ich möchte die Bilder (1.jpg,2.jpg,3.jpg,4.jpg,5.jpg) gerne als TEXT.jpg einbinden. Passe ich die Dateinamen und die Links in der HTML an, zeigt er mir lediglich das Thombnail an. Muss in der JS auch etwas angepasst werden? Über Eure Hilfe bin ich sehr dankbar!
Gruß
-
Hallo,
ich möchte meine Webseite mehsprachig anbieten. Aus Kostengründen möchte ich dafür das Google API zur Übersetzung nehmen.
Mit der Anleitung von http://www.davidgebhardt.de/2011/04/google…n-darzustellen/ habe ich das Problem, dass ich nicht mehrere 'container' bilden kann. Seitze ich die ID in den Container des Navigationsmenüs und dann wieder beim Seitentext, wird nur das Menü übersetzt. Die ganze Seite in einen DIV zu packen ging leider auch nicht, da ih mehrere DIV Container habe.
Mit dem Snippet von http://translateth.is klappt es zwar so, wie ich es mir vorstelle, jedoch möchte ich auf der Seite keine Werbung, sondern eher nur 3-4 Flaggen mit den entsprechenden Sprachen. Hier ist es praktisch, da ich die Seite nicht in Container packen muss, sondern nur das Script in den head einfügen kann.
Gibt es eine Möglichkeit, wie ich das Problem aus Beispiel I löse oder kennt jemand ein Alternativscript zu dem Ganzen?
Vielen Dank!
-
HABS!!!
So gehts:Code
Alles anzeigen$darsteller=""; $result2 = mysql_query("SELECT darsteller.id, darsteller.name , darsteller_film.darsteller_id FROM darsteller, darsteller_film WHERE darsteller.id=darsteller_film.darsteller_id AND darsteller_film.dvd_id = '{$row['dvd_id']}';"); while ( $row2 = mysql_fetch_assoc($result2)) {$darsteller .= "<a href=# onmouseover=showWMTT('$row2[id]') onmouseout=hideWMTT()>" . $row2[name] ." </a> "; echo "<div class=tooltip id=$row2[id]> $row2[id] </div>";
an der tooltip ID lags!
Jetz gehts auch!Danke für deine Mithilfe!!!!
-
Zitat von GreenRover
NEin, das sit nicht möglich!!!!
Leider doch....Wenn ich " . $row2[name] . " und " . $row2[id] . " hintereinander schreibe ist es OK.
Code
Alles anzeigen$darsteller=""; $result2 = mysql_query("SELECT darsteller.id, darsteller.name , darsteller_film.darsteller_id FROM darsteller, darsteller_film WHERE darsteller.id=darsteller_film.darsteller_id AND darsteller_film.dvd_id = '{$row['dvd_id']}';"); while ( $row2 = mysql_fetch_assoc($result2)) {$darsteller .= "<a href=# onmouseover=showWMTT('xx') onmouseout=hideWMTT()>" . $row2[name] ." " . $row2[id] ." </a> ";
sobald ich ID aber in den <div> Tag einfüge kommt es aber so wie es nicht sein sollte :-/
Code
Alles anzeigen$darsteller=""; $result2 = mysql_query("SELECT darsteller.id, darsteller.name , darsteller_film.darsteller_id FROM darsteller, darsteller_film WHERE darsteller.id=darsteller_film.darsteller_id AND darsteller_film.dvd_id = '{$row['dvd_id']}';"); while ( $row2 = mysql_fetch_assoc($result2)) {$darsteller .= "<a href=# onmouseover=showWMTT('xx') onmouseout=hideWMTT()>" . $row2[name] ." </a> "; echo "<div class=tooltip id=xx> $row2[id] </div>";
Meine Überlegung: Der DIV Tag kann ja theoretisch ÜBERALL auf im Seiten Code platziert werden. (im HTML Bereich... im PHP Bereich...) Es muss also eine Zuordnung erstellt werden, die sagt darsteller.name von tabelle = darsteller.id vom tooltip Ansonsten liest er einfach nur die erste ID meiner darsteller Tabelle aus und gibt diese halt mehrmals aus. Frage ist nur: WIE ... Oder irre ich mich?
-
Ist genau wie vorher...(beide Tooltips zeigen 579)
habs mal hochgestellt zur verdeutlichung -
Array ( [0] => Array ( [id] => 579 [name] => Hanks [darsteller_id] => 579 ) [1] => Array ( [id] => 580 [name] => Fred [darsteller_id] => 580 ) )
-
Hi GreenRover,
Danke für den Code!Ich habs soweit geändert und angepasst, allerdings ist das Ergebnis genau wie vorher...
Code
Alles anzeigen$darsteller=""; $result2 = mysql_query("SELECT darsteller.id, darsteller.name , darsteller_film.darsteller_id FROM darsteller, darsteller_film WHERE darsteller.id=darsteller_film.darsteller_id AND darsteller_film.dvd_id = '{$row['dvd_id']}';"); while ( $row2 = mysql_fetch_assoc($result2)) {$darsteller .= "<a href=# onmouseover=showWMTT('xx') onmouseout=hideWMTT()>" . $row2[name] ." </a> "; echo "<div class=tooltip id=xx> $row2[id] </div>"; }
Die Ausgabe ist:
DARETSLLER1 --> Toltip DARSTELLER_ID_1
DARETSLLER2 --> Toltip DARSTELLER_ID_1und nicht wie es sollte
DARETSLLER1 --> Toltip DARSTELLER_ID_1
DARETSLLER2 --> Toltip DARSTELLER_ID_2Für weitere Vorschläge wär ich sehr dankbar!
-
Sorry, hatte ausgeloggt - der letzte Post war von mir
-
Darsteller: id | name
Die anderen können hierbei ignoriert werden, da sie nur eine Zuordnung der Darsteller zu den Filmen sind:
Darsteller_Film: darsteller_id | dvd_id
-
Hi, ich stehe vor folgendem Problem:
Code
Alles anzeigen$result2 = $db->sql_query("SELECT * FROM darsteller LEFT JOIN darsteller_film ON (darsteller.id=darsteller_film.darsteller_id) WHERE darsteller_film.dvd_id = $row[dvd_id];"); while ( $row2 = $db->sql_fetchrow($result2)) {$darsteller .= "<a href=# onmouseover=showWMTT('xx') onmouseout=hideWMTT()>" . $row2[name] ." </a> <div class=tooltip id=xx> ". $row2[id] . " </div> "; }
Die Ausgabe der Darsteller ist:
DARSTELLER_1
DARSTELLER_2
DARSTELLER_2 ...Jetzt soll für jeden Darsteller per Tooltip ein Bild (im Beispiel die entsprechende Darsteller ID) gezeigt werden. Jedoch erscheint bei jedem Darsteller nur die ID von DARSTELLER_1 im Tooltip. Wie bekomm ichs hin, dass ich für jeden Darsteller das entsprechende Tooltip bekomme?
Danke im Voraus!
-
Vielen Dank ph0re - ich wer mich mal mit beatz kurzschließen. Seine DB kommt dem, was ich erreichen möchte schon sehr nah.