Autor |
Nachricht |
KingKiba
Threadersteller
Dabei seit: 24.08.2007
Ort: -
Alter: 36
Geschlecht: -
|
Verfasst Mi 17.09.2008 16:15
Titel HTML / PHP - Slideshow |
|
|
Hab hier einen Script gefunden, den ich gerne verändern möchte. Habe aber 2 Probleme.
Vorerst mal hier der Code:
Code: | <script type="text/javascript">
/***********************************************
* Conveyor belt slideshow script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
//Specify the slider's width (in pixels)
var sliderwidth="740px"
//Specify the slider's height
var sliderheight="180px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=3
//configure background color:
slidebgcolor="#FFFFFF"
//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="http://"><img src="http://" border=0></a>'
leftrightslide[1]='<a href="http://"><img src="http://" border=0></a>'
leftrightslide[2]='<a href="http://"><img src="http://" border=0></a>'
leftrightslide[3]='<a href="http://"><img src="http://" border=0></a>'
leftrightslide[4]='<a href="http://"><img src="http://" border=0></a>'
//Specify gap between each image (use HTML):
var imagegap=" "
//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=5
////NO NEED TO EDIT BELOW THIS LINE////////////
var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide
function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}
window.onload=fillup
function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"
}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap
if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}
if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>')
write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script> |
Wie man sieht ist es eigentlich ganz simple aufgebaut, jedoch komm ich gerade nicht mehr klar.
Ich hab 2 Probleme:
1. Ich wollte das die Bilder sich in einer Lightbox öffnen, dazu müsste ich ja eigentlich nur ein rel="lightbox" zu den links fügen. Funktioniert aber nicht.
2. Such ich im Internet schon die ganze zeit nach einen script oder einem code womit man pfadangaben so angeben kann, das ein gesamter ordner ausgewählt wird D.h. man läd alle bilder in einen ordner und die sind automatisch drin.
Müsste theo. ja funktionieren.
[edit by grunge: verschoben von allgemeines - nonprint nach programmierung]
Zuletzt bearbeitet von theGRUNGEone am Do 18.09.2008 00:23, insgesamt 1-mal bearbeitet
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Mi 17.09.2008 16:23
Titel
|
|
|
zum laden der bilder aus einem Verzeichnis.
Code: |
<?php
$dir = 'bilderverzeichnis';
$img_extensions = array('jpg','jpeg','gif','png');
$img_count = 0;
while(($file = $dir->read()) !== false) {
if(($file != '.') AND ($file != '..')) {
$path_parts = pathinfo($dir->path.$file);
if(in_array(strtolower($path_parts['extension']), $img_extensions)) {
echo 'leftrightslide['.$img_count.']=\'<a href="http://" rel="lightbox"><img src="http://" border=0></a>\'';
$img_count++;
}
}
}
?>
|
ungetestet.
Zuletzt bearbeitet von Pixelpole am Mi 17.09.2008 16:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
KingKiba
Threadersteller
Dabei seit: 24.08.2007
Ort: -
Alter: 36
Geschlecht: -
|
Verfasst Fr 19.09.2008 09:56
Titel
|
|
|
Ich glaub das könnte funktionieren, jedoch gibt es dann doch noch folgendes Problem:
Sagen wir mal Bild_1.jpg wird aus dem Ordner geladen, dann sollte wenn man auf Bild_1.jpg klickt Bild_1_groß in der Lightbox erscheinen, das geht ja jetzt nicht, richtig? Falls es da eine Lösung gibt, z.B. das dann Bild_1_groß aus einem anderen Ordner geladen wird, wie müsste ich das dann angeben?
Also nochmal mein vorhaben:
Im Ordner "private_bilder" sind die kleinen Bilder die in die Slidebox geladen werden, z.B. Bild_1.jpg, Bild_2.jpg.
Im Ordner "private_bilder_groß" sind die selben Bilder nur halt Größer, könnte man auch Bild_1.jpg, Bild_2.jpg nennen.
Jetzt sehen wir die Slidebox und klicken auf das erste Bild, also Bild_1.jpg aus dem "private_bilder" Ordner, und es öffnet sich Bild_1.jpg aus dem "private_bilder_groß" Ordner.
Theo. müsste es eigentlich funktionieren, aber wie genau weiss ich leider nicht
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Fr 19.09.2008 10:49
Titel
|
|
|
der lightbox ist es völlig egal, welchen pfad du im <a>-tag und welchen du im <img>-tag hast. sollte für lightbox also durchaus ok sein, dass du das große bild unter privat_gross/bild_1_gross.jpg hast, und das thumbnail im img-tag anders heißt und anders liegt.
naja, vielleicht solltest du aufs ß verzichten
|
|
|
|
|
KingKiba
Threadersteller
Dabei seit: 24.08.2007
Ort: -
Alter: 36
Geschlecht: -
|
Verfasst Fr 19.09.2008 11:15
Titel
|
|
|
Was ich merkwürdig finde ist, das beim IE die lightbox funktioniert aber bei Firefox nicht Oo woran kann das liegen?
Eigentlich gehts mir weniger um die Lightbox als um die Ordner-Funktion, also das automatische abrufen von allen bildern aus den Ordnern...
Also wenn man das irgendwie hinbekommt ist es eine perfekte Slideshow für jederman...
Mir ist soeben ein weiteres Problem aufgefallen, falls man es jetzt automatisiert bekommt das die kleinen und großen bilder geladen werden, müssen irgendwie auch noch die Titel geladen werden...
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Fr 19.09.2008 11:23
Titel
|
|
|
KingKiba hat geschrieben: |
Eigentlich gehts mir weniger um die Lightbox als um die Ordner-Funktion, also das automatische abrufen von allen bildern aus den Ordnern...
Also wenn man das irgendwie hinbekommt ist es eine perfekte Slideshow für jederman...
Mir ist soeben ein weiteres Problem aufgefallen, falls man es jetzt automatisiert bekommt das die kleinen und großen bilder geladen werden, müssen irgendwie auch noch die Titel geladen werden... |
hab sowas ähnliches mal auf die schnelle gebaut. die rangehensweise ist:
verzeichnis großer bilder einlesen. automatisiert ein thumbnailverzeichnis erstellen. das ausgabescript führt beide über <a> und <img> tag zusammen.
bezgl. deiner titel... ohne weitere maßnahmen bleibt dir da eh nur einen titel automatisch zu generieren, der fileinfos wie zb. dateiname o.ä. beinhaltet.
|
|
|
|
|
KingKiba
Threadersteller
Dabei seit: 24.08.2007
Ort: -
Alter: 36
Geschlecht: -
|
Verfasst Fr 19.09.2008 12:47
Titel
|
|
|
Hab gerade erfahren das sich dieses Script bei Firefox und paar anderen Browsern nicht mit der lightbox versteht....schade...
|
|
|
|
|
|
|
|
Ähnliche Themen |
[jQuery Cycle] Slideshow in Slideshow wechseln zusammen
Slideshow
Slideshow
Slideshow
Slideshow?
Slideshow
|
|