Zu aller erst, möcht ich mich mal bedanken bei allen die mir bis jetzt weite rgeholfen haben, son forum wie hier, gibs kein 2. mal
Zu diesem thread hier bitte keine vollständige lösung her geben(auch wenn ich ganze scripts poste, da ich selbst lernen möchte, aber ein anstoß brauche^^
nun zu meinem problem:
ich möchte bei mir auf der Startseite einen Bilderticker haben, der die letzten 10 oder 20 oder 30 Userbilder anzeigt, die hochgeladen worden sind.
Ein Script für den ticker habe ich schon:
<script type="text/javascript"> /* * * * * * * * * * * * * * * * D I E V A R I A B L E N * * * * * * * * * * * * * * * * * */ //°°°°°°°°°°Die News tNews=new Array(); tNews.push('<img src="../../jpgs/portraitbw/1.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/2.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/3.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/4.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/5.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/6.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/7.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/8.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/9.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/10.jpg" width="100" height="100" />'); //°°°°°°°°°°Laufrichtung(up,down,left,right) strDir ='right'; //°°°°°°°°°°Delimiter zwischen den einzelnen News(nur bei left/right) strDelimiter=''; //°°°°°°°°°°Interval in ms intInterval =15; //°°°°°°°°°°Stop bei mouseover?true:false blnStopHover=true; //°°°°°°°°°°Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1 intRepeat =1; //°°°°°°°°°°Rahmen strBorder ='0px solid #000000'; //°°°°°°°°°°Breite intWidth =500; //°°°°°°°°°°Höhe intHeight =100; //Abstand Rahmen->Inhalt intPadding =0; //Background-color strBgc ='#FFFFFF'; //Text-color strTxtc ='#ffffff'; //Textausrichtung strAlign ='left'; //Schritt pro Durchlauf(px) intStep=1; /* * * * * * * * * * * * * * * * * * D E R T I C K E R * * * * * * * * * * * * * * * * * * * * * */ //IE ab V4? IE=document.all&&!window.opera; //DOM-Browser(ausser IE) DOM=document.getElementById&&!IE; //läuft ab IE4 und in DOM-Browsern if(DOM||IE) { //Ermitteln, ob Ticker horizontal oder vertikal laufen soll blnDir=(strDir=='up'||strDir=='down')?true:false; //Bei horizontalem Ticker wird ein nobr-, ansonsten ein div-Tag verwendet strNobr=(blnDir)?'div':'nobr'; //Trennzeichen zwischen den Einzelnen Eintraegen //bei horizontalem Ticker gemäss Angabe in Variale strDelimiter //Ansonsten Zeilenumbrueche strDelimiter=(blnDir)?'<br><br>':strDelimiter; //String fuer Textausrichtung bei vertikalem Ticker strAlign=(blnDir)?'text-align:'+strAlign+';':''; //Variable zum Speichern des Intervals var objGo; //Variable zum Speichern der Position intPos=50; //String erzeugen fuer JS-Code, falls Ticker beim mouseover stoppen soll strStopHover=(blnStopHover)?'onmouseover="clearInterval(objGo)"onmouseout="objGo=setInterval(\'DM_ticken()\','+intInterval+')"':''; //Tickertext zu String zusammenfuegen strText=(blnDir)?tNews.join(strDelimiter)+strDelimiter:tNews.join(strDelimiter)+strDelimiter; strNews=strText; for(i=1;i<intRepeat;++i) { strNews+=strText; } //TickerCode zu String zusammenfuegen strTicker='<div style="position: relative; '+strAlign+'overflow:hidden;background-color:'+strBgc+ ';border:'+strBorder+';width:'+intWidth+'px;height:'+intHeight+'px;padding:'+intPadding+ 'px;"><'+strNobr+'><div id="ticker"style="position:relative;color:'+strTxtc+';background-color:'+strBgc+ ';"'+strStopHover+'>'+strNews+'</div></'+strNobr+'></div>'; //TickerCode im Dokument ausgeben document.write(strTicker); //Funktion, um Ticker ticken zu lassen function DM_ticken() { //Ticker-Objekt je nach Browser ermitteln objTicker=(IE)?document.all.ticker:document.getElementById('ticker'); //Array fuer zu manipulierende Eigenschaften des Tickers je nach Richtung //Richtung=new Array(Pixelwert zur Aenderung der Position,Breite/Höhe des Tickers,zu andernder Positionswert); arrDir=new Array(); arrDir['up'] =new Array(-1,objTicker.offsetHeight,'top'); arrDir['down'] =new Array(1,objTicker.offsetHeight,'top'); arrDir['left'] =new Array(1,objTicker.offsetWidth,'left'); arrDir['right'] =new Array(-1,objTicker.offsetWidth,'left'); //Ermitteln von Breite bzw. Höhe der anzuzeigenden Items dblOffset=arrDir[strDir][1]/intRepeat; //Neuen Positionswert ermitteln switch(strDir) { case'right': intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break; case'left': intPos=(intPos>0)?-dblOffset:intPos;break; case 'up': intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break; case 'down': intPos=(intPos>0)?-dblOffset:intPos;break; } //Neuen Positionswert zuweisen objTicker.style[arrDir[strDir][2]]=intPos + "px"; //Positionswert hoch/heruntersetzen intPos+=intStep*arrDir[strDir][0]; } //Erneut ticken lassen objGo=setInterval('DM_ticken()',intInterval); } </script>
an dieser Stelle gibt man die Bilder an denke ich mal :
tNews=new Array(); tNews.push('<img src="../../jpgs/portraitbw/1.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/2.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/3.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/4.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/5.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/6.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/7.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/8.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/9.jpg" width="100" height="100" />'); tNews.push('<img src="../../jpgs/portraitbw/10.jpg" width="100" height="100" />');
ich habe bereits eine seite, wo thumbs gezogen werden, von allen hochgeladenen profilbilder, die neusten zuerst.
daraus könnte man ja den code beziehen, der dann in den ticker soll, allerdings is das viel zu viel für meine kenntnisse^^
hier mal der code von der schon bestehenen seite:
<?php # Copyright by: Manuel Staechele # Support: www.ilch.de defined ('main') or die ( 'no direct access' ); # mini config $img_per_site = $allgAr['gallery_imgs_per_site']; $img_per_line = $allgAr['gallery_imgs_per_line']; # original groesse anzeigen $title = $allgAr['title'].' :: Fotoalbum'; $hmenu = 'Fotoalbum'; $design = new design ( $title , $hmenu ); $design->header(); $tpl = new tpl ('foto' ); $limit = $img_per_site; $page = ($menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 ); $MPL = db_make_sites ($page , '' , $limit , '?foto' , "usergallery WHERE free = '1' ORDER BY id ASC"); $anfang = ($page - 1) * $limit; $erg = db_query("SELECT prefix_usergallery.id,uid,prefix_usergallery.`besch`,endung,prefix_usergallery.name,prefix_user.name as user_name FROM prefix_usergallery LEFT JOIN prefix_user ON prefix_usergallery.uid = prefix_user.id WHERE free = '1' ORDER BY prefix_usergallery.id DESC LIMIT ".$anfang.",".$limit); if ( db_num_rows($erg) > 0 ) { $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']); $tpl->set('breite', $allgAr['gallery_normal_width']+30); $tpl->set('MPL',$MPL); $tpl->out(0); $class = 'Cnorm'; $i = 0; while($row = db_fetch_assoc($erg) ) { $size = @getimagesize('include/images/usergallery/img_thumb_'.$row['id'].'.'.$row['endung']); if($size[0] > $size[1]){ $breite = '100'; $hoehe = $size[1] * (100 / $size[0] ); }elseif($size[0] <= $size[1]){ $hoehe = '100'; $breite = $size[0] * (100 / $size[1] ); } $row['groesse'] = 'height="'.$hoehe.'" width="'.$breite.'"'; $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' ); $row['class'] = $class; $row['besch'] = unescape($row['besch']); $row['width'] = round( 100 / $img_per_line ); $row['bildr'] = $i + (($page-1) * $img_per_site); if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; } $tpl->set_ar_out($row,1); $i++; } if ( $i % $img_per_line <> 0 ) { $anzahl = $img_per_line - ($i % $img_per_line); for($x=1;$x<=$anzahl;$x++){ echo '<td class="'.$class.'"></td>'; } } $tpl->out(2); } $design->footer(); ?>
ich hoffe ihr habt ne idee und könnt mir auf die sprünge helfen
lg Botox84
verwendete ilchClan Version: 1.1
betroffene Homepage: externer Link