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



na da weist du wo der fehler ist narf
