Fotobilder Ticker usw.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fotobilder Ticker usw.

    Halli Hallo liebe Coder,

    ich habe folgendes problem, ich möchte bei mir auf der Startseite einen Bilderticker haben, der die letzten 10 Userbilder anzeigt, die hochgeladen worden sind.

    Ein Script für den ticker habe ich schon:

    Quellcode

    1. /* * * * * * * * * * * * * * * * D I E V A R I A B L E N * * * * * * * * * * * * * * * * * */
    2. //°°°°°°°°°°Die News
    3. tNews=new Array();
    4. tNews.push('<img src="../../jpgs/portraitbw/1.jpg" width="100" height="100" />');
    5. tNews.push('<img src="../../jpgs/portraitbw/2.jpg" width="100" height="100" />');
    6. tNews.push('<img src="../../jpgs/portraitbw/3.jpg" width="100" height="100" />');
    7. tNews.push('<img src="../../jpgs/portraitbw/4.jpg" width="100" height="100" />');
    8. tNews.push('<img src="../../jpgs/portraitbw/5.jpg" width="100" height="100" />');
    9. tNews.push('<img src="../../jpgs/portraitbw/6.jpg" width="100" height="100" />');
    10. tNews.push('<img src="../../jpgs/portraitbw/7.jpg" width="100" height="100" />');
    11. tNews.push('<img src="../../jpgs/portraitbw/8.jpg" width="100" height="100" />');
    12. tNews.push('<img src="../../jpgs/portraitbw/9.jpg" width="100" height="100" />');
    13. tNews.push('<img src="../../jpgs/portraitbw/10.jpg" width="100" height="100" />');
    14. //°°°°°°°°°°Laufrichtung(up,down,left,right)
    15. strDir ='right';
    16. //°°°°°°°°°°Delimiter zwischen den einzelnen News(nur bei left/right)
    17. strDelimiter='';
    18. //°°°°°°°°°°Interval in ms
    19. intInterval =15;
    20. //°°°°°°°°°°Stop bei mouseover?true:false
    21. blnStopHover=true;
    22. //°°°°°°°°°°Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1
    23. intRepeat =1;
    24. //°°°°°°°°°°Rahmen
    25. strBorder ='0px solid #000000';
    26. //°°°°°°°°°°Breite
    27. intWidth =500;
    28. //°°°°°°°°°°Höhe
    29. intHeight =100;
    30. //Abstand Rahmen->Inhalt
    31. intPadding =0;
    32. //Background-color
    33. strBgc ='#FFFFFF';
    34. //Text-color
    35. strTxtc ='#ffffff';
    36. //Textausrichtung
    37. strAlign ='left';
    38. //Schritt pro Durchlauf(px)
    39. intStep=1;
    40. /* * * * * * * * * * * * * * * * * * D E R T I C K E R * * * * * * * * * * * * * * * * * * * * * */
    41. //IE ab V4?
    42. IE=document.all&&!window.opera;
    43. //DOM-Browser(ausser IE)
    44. DOM=document.getElementById&&!IE;
    45. //läuft ab IE4 und in DOM-Browsern
    46. if(DOM||IE)
    47. {
    48. //Ermitteln, ob Ticker horizontal oder vertikal laufen soll
    49. blnDir=(strDir=='up'||strDir=='down')?true:false;
    50. //Bei horizontalem Ticker wird ein nobr-, ansonsten ein div-Tag verwendet
    51. strNobr=(blnDir)?'div':'nobr';
    52. //Trennzeichen zwischen den Einzelnen Eintraegen
    53. //bei horizontalem Ticker gemäss Angabe in Variale strDelimiter
    54. //Ansonsten Zeilenumbrueche
    55. strDelimiter=(blnDir)?'<br><br>':strDelimiter;
    56. //String fuer Textausrichtung bei vertikalem Ticker
    57. strAlign=(blnDir)?'text-align:'+strAlign+';':'';
    58. //Variable zum Speichern des Intervals
    59. var objGo;
    60. //Variable zum Speichern der Position
    61. intPos=50;
    62. //String erzeugen fuer JS-Code, falls Ticker beim mouseover stoppen soll
    63. strStopHover=(blnStopHover)?'onmouseover="clearInterval(objGo)"onmouseout="objGo=setInterval(\'DM_ticken()\','+intInterval+')"':'';
    64. //Tickertext zu String zusammenfuegen
    65. strText=(blnDir)?tNews.join(strDelimiter)+strDelimiter:tNews.join(strDelimiter)+strDelimiter;
    66. strNews=strText;
    67. for(i=1;i<intRepeat;++i)
    68. {
    69. strNews+=strText;
    70. }
    71. //TickerCode zu String zusammenfuegen
    72. strTicker='<div style="position: relative; '+strAlign+'overflow:hidden;background-color:'+strBgc+
    73. ';border:'+strBorder+';width:'+intWidth+'px;height:'+intHeight+'px;padding:'+intPadding+
    74. 'px;"><'+strNobr+'><div id="ticker"style="position:relative;color:'+strTxtc+';background-color:'+strBgc+
    75. ';"'+strStopHover+'>'+strNews+'</div></'+strNobr+'></div>';
    76. //TickerCode im Dokument ausgeben
    77. document.write(strTicker);
    78. //Funktion, um Ticker ticken zu lassen
    79. function DM_ticken()
    80. {
    81. //Ticker-Objekt je nach Browser ermitteln
    82. objTicker=(IE)?document.all.ticker:document.getElementById('ticker');
    83. //Array fuer zu manipulierende Eigenschaften des Tickers je nach Richtung
    84. //Richtung=new Array(Pixelwert zur Aenderung der Position,Breite/Höhe des Tickers,zu andernder Positionswert);
    85. arrDir=new Array();
    86. arrDir['up'] =new Array(-1,objTicker.offsetHeight,'top');
    87. arrDir['down'] =new Array(1,objTicker.offsetHeight,'top');
    88. arrDir['left'] =new Array(1,objTicker.offsetWidth,'left');
    89. arrDir['right'] =new Array(-1,objTicker.offsetWidth,'left');
    90. //Ermitteln von Breite bzw. Höhe der anzuzeigenden Items
    91. dblOffset=arrDir[strDir][1]/intRepeat;
    92. //Neuen Positionswert ermitteln
    93. switch(strDir)
    94. {
    95. case'right':
    96. intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
    97. case'left':
    98. intPos=(intPos>0)?-dblOffset:intPos;break;
    99. case 'up':
    100. intPos=(Math.abs(intPos)>dblOffset)?0:intPos;break;
    101. case 'down':
    102. intPos=(intPos>0)?-dblOffset:intPos;break;
    103. }
    104. //Neuen Positionswert zuweisen
    105. objTicker.style[arrDir[strDir][2]]=intPos + "px";
    106. //Positionswert hoch/heruntersetzen
    107. intPos+=intStep*arrDir[strDir][0];
    108. }
    109. //Erneut ticken lassen
    110. objGo=setInterval('DM_ticken()',intInterval);
    111. }
    Alles anzeigen

    an dieser Stelle gibt man die Bilder an denke ich mal:

    Quellcode

    1. tNews=new Array();
    2. tNews.push('<img src="../../jpgs/portraitbw/1.jpg" width="100" height="100" />');
    3. tNews.push('<img src="../../jpgs/portraitbw/2.jpg" width="100" height="100" />');
    4. tNews.push('<img src="../../jpgs/portraitbw/3.jpg" width="100" height="100" />');
    5. tNews.push('<img src="../../jpgs/portraitbw/4.jpg" width="100" height="100" />');
    6. tNews.push('<img src="../../jpgs/portraitbw/5.jpg" width="100" height="100" />');
    7. tNews.push('<img src="../../jpgs/portraitbw/6.jpg" width="100" height="100" />');
    8. tNews.push('<img src="../../jpgs/portraitbw/7.jpg" width="100" height="100" />');
    9. tNews.push('<img src="../../jpgs/portraitbw/8.jpg" width="100" height="100" />');
    10. tNews.push('<img src="../../jpgs/portraitbw/9.jpg" width="100" height="100" />');
    11. tNews.push('<img src="../../jpgs/portraitbw/10.jpg" width="100" height="100" />');
    Alles anzeigen


    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 zu viel für meine kenntnisse^^
    hier mal der code von der schon bestehenen seite:

    Quellcode

    1. <?php
    2. # Copyright by: Manuel Staechele
    3. # Support: www.ilch.de
    4. defined ('main') or die ( 'no direct access' );
    5. # mini config
    6. $img_per_site = $allgAr['gallery_imgs_per_site'];
    7. $img_per_line = $allgAr['gallery_imgs_per_line'];
    8. # original groesse anzeigen
    9. $title = $allgAr['title'].' :: Fotoalbum';
    10. $hmenu = 'Fotoalbum';
    11. $design = new design ( $title , $hmenu );
    12. $design->header();
    13. $tpl = new tpl ('foto' );
    14. $limit = $img_per_site;
    15. $page = ($menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
    16. $MPL = db_make_sites ($page , '' , $limit , '?foto' , "usergallery WHERE free = '1' ORDER BY id ASC");
    17. $anfang = ($page - 1) * $limit;
    18. $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);
    19. if ( db_num_rows($erg) > 0 ) {
    20. $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']);
    21. $tpl->set('breite', $allgAr['gallery_normal_width']+30);
    22. $tpl->set('MPL',$MPL);
    23. $tpl->out(0); $class = 'Cnorm';
    24. $i = 0;
    25. while($row = db_fetch_assoc($erg) ) {
    26. $size = @getimagesize('include/images/usergallery/img_thumb_'.$row['id'].'.'.$row['endung']);
    27. if($size[0] > $size[1]){
    28. $breite = '100';
    29. $hoehe = $size[1] * (100 / $size[0] );
    30. }elseif($size[0] <= $size[1]){
    31. $hoehe = '100';
    32. $breite = $size[0] * (100 / $size[1] );
    33. }
    34. $row['groesse'] = 'height="'.$hoehe.'" width="'.$breite.'"';
    35. $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    36. $row['class'] = $class;
    37. $row['besch'] = unescape($row['besch']);
    38. $row['width'] = round( 100 / $img_per_line );
    39. $row['bildr'] = $i + (($page-1) * $img_per_site);
    40. if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; }
    41. $tpl->set_ar_out($row,1);
    42. $i++;
    43. }
    44. if ( $i % $img_per_line <> 0 ) {
    45. $anzahl = $img_per_line - ($i % $img_per_line);
    46. for($x=1;$x<=$anzahl;$x++){
    47. echo '<td class="'.$class.'"></td>';
    48. }
    49. }
    50. $tpl->out(2);
    51. }
    52. $design->footer();
    53. ?>
    Alles anzeigen


    hoffe jemand kann mir helfen diese beiden sachen zu kombinieren ;)

    lg und vielen dank Botox84
  • Willkommen,
    ich will nur vorab mal fragen: Wie genau stellst du dir "helfen" vor. Willst du Tipps oder willst du jmd der dir das macht?

    wenn du wirklich nur jemanden suchst, der das für dich macht, dann muss ich das ins Jobforum verschieben.
    Dann musst du aber noch sagen was du bereit bist, dafür zu zahlen. Vielleicht findet sich ja auch jmd der es kostenlos macht.
  • naja, der code ist komisch.. du arbeitest halb mit einer template engine..

    Quellcode

    1. $tpl->set_ar_out($row,1);

    halb aber auch nicht

    Quellcode

    1. echo '<td class="'.$class.'"></td>';


    im prinzip musst du statt der 46er Zeile nur deine Wunschausgabe einsetzen.
    Also zum Beispiel:

    Quellcode

    1. tNews.push('<img src="<?='include/images/usergallery/img_thumb_'.$row['id'].'.'.$row['endung']?>" <?=$row['groesse']?> />');