Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Bildershow einbinden





Frage

Hallo, ich möchte auf meiner HP eine Bildershow einfügen. Die Bilder sollen also automatisch alle ... Sekunden wechseln. Zusätzlich soll ein Text darunter auch wechseln. Wie kann man das bewerkstelligen? Ich habe hier einige Vorschläge gefunden, die funktionieren aber bei mir leider nicht. Gruss Petra

Antwort 1 von rfb

Zitat:
Ich habe hier einige Vorschläge gefunden, die funktionieren aber bei mir leider nicht.
welche Vorschläge, was funktioniert nicht?

Antwort 2 von Petra65

Vorschläge, bzw. Links wo man fertigen Code für Slideshows herunterladen kann.
Ich selber habe auch einen Code, der als Einzelseite einwandfrei funktioniert, aber sobald ich ihn in meiner Seite habe geht es nicht mehr.

Der Code sieht folgendermaßen aus:

<html><head><title>Test</title>
</head><body>
<img src="images/Bild_1.jpgf" width="400" height="300" alt="Hans">
<script type="text/javascript">
<!--
var b = new Array();
b[0] = new Image(); b[0].src = "images/Bild_2.jpg";
b[1] = new Image(); b[1].src = "images/Bild_3.jpg";
b[2] = new Image(); b[2].src = "images/Bild_4.jpg";
b[3] = new Image(); b[3].src = "images/Bild_1.jpg";
var i = 0;
function Animation()
{
if(i > 3) i = 0;
document.images[0].src = b.src;
i = i + 1;
window.setTimeout("Animation()",1000);
}
window.setTimeout("Animation()",1000);
//-->
</script>
</body></html>


Auf meiner Seite sind z. B. schon eingebunden:


<!-- #include virtual="/includes/ASPHeader.asp" -->
<!-- #include virtual="/includes/RegionLangCode.asp" -->
<!-- #include virtual="/includes/Header.asp" -->
<!-- #include virtual="/includes/Conn.asp" -->
<!-- #include virtual="/includes/functions.asp" -->
<!-- #include virtual="/includes/Language/Public_Default.asp" -->
<!-- #include virtual="/includes/Language/Public_404.asp" -->
<!-- #include virtual="/Includes/Modules/StandardModule.asp" -->
<%
Dim RegionName
rs.Open "exec spGetRegionLangTrans " &
CurRegion & ", ´" &Lang & "´"
RegionName = rs("RegionName")
rs.Close
%>
<title><% = RegionName & " - " & Title %></title>
<link rel="STYLESHEET" type="text/css" href="/Includes/Styles.css">
<style type="text/css">
<!--
.notfound {
font-size: 22px;
font-weight: bold;
color: #24408F;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
p.MsoNormal {
mso-style-parent:"";
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:Arial;
margin-left:0cm; margin-right:0cm; margin-top:0cm}
-->
</style>
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"
onload="maxtable();" onresize="maxtable();">
<!--#include virtual="/Includes/TopNav.asp"-->
<!-- Main Table -->

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="MainTable">
<tr>
<td width="87" valign="top">
<!--Spacer Image -->
<img src="/CommonImages/Spacer.gif" width="1" height="5" alt="" border="0"><br>
<!--Spacer Image -->
<!--Spacer Image -->
<img src="/CommonImages/Spacer.gif" width="1" height="5" alt="" border="0"><br>
</td>
<td width="100%">


DANN FOLGT DER TEXT .......

Ich denke da behindert etwas meinen Code ????

Antwort 3 von murphy8119

Hei Petra

kann sein, dass das JavaScript sich mit einem anderen auf deiner Seite stört.

Warum nicht einfach einen <iframe>
in ein Tabellenelement laden (=Funktionsweise wie ein Frameset).
# BSP <iframe> : ==========================

<table>
<tr>
<td>
<iframe src="s1.php" width="100%" height="500" name="slide" scrolling="no" frameborder="0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
Leider kann Ihr Browser keine I-frames darstellen, Wir empfehlen auf
den aktuellsten IE umzusteigen</iframe>
</td>
</tr>
</table>

# BSP <iframe> : ==========================

In die nun über src="s1.php" eingeladene Seite
kannst du z.B. über folgende META Angabe alle X-Sec.
eine andere Seite einladen lassen.

# BSP refresch : ==========================

<meta http-equiv="refresh" CONTENT="5;url=s2.php" />

# BSP refresh : ==========================

In dem Falle alle 5 Sec. eine Seite laden lassen, (url=s2.php) besagt, dass die Datei s2.php geladen werden soll.

Somit solltest du alle nötigen Teile des Puzzels zusammen haben. Deine Seite unterstützt ja PHP ergo kannst du die Seitennamen oder nur die Inhalte automatisch ändern lassen, entweder die Daten aus einer DB saugen ?SQL? oder einfach ein Array mit den Daten anzapfen, fertig.

z.B. --------------------------------------------------------
<?php
$dauer=5; # Dauer für den Refresch

$bilder[1]="b001.jpg"; # Array mit Bildnamen
$bilder[2]="b002.jpg";
$bilder[3]="b003.jpg";

$text[1]="Text zu Bild 1"; # Array mit Texten
$text[2]="Text zu Bild 2";
$text[3]="Text zu Bild 3";

if(!isset($z)) # Zähler setzen oder erhöhen
{
$z=1;
}
else
{
$z+=1;
if($z>3) # falls max. erreicht zurücksetzen
{
$z=0;
}
}
?>
<html>
<head>
<meta http-equiv="refresh" CONTENT="<?php print $dauer; ?>;url=<?php print $PHP_SELF; ?>?z=<?php print $z; ?>" />

<title>Slideschowseite <?php print $z; ?></title>

</head>
<body>

<img src="<?php print $bilder[$z]; ?>" width="50" height="50" alt="Bild <?php print $z; ?>" />

<p><?php print $text[$z]; ?></p>

</body>
</html>
z.B. --------------------------------------------------------

Somit sollten alle Unklarheiten beseitigt sein.

Hoffe ich konnte die helfen bzw. mal einen etwas anderen Lösungsansatz anzuregen

Rolf
www.wir-gestalten.de

Antwort 4 von rfb

@murphy8119:
iframe, javascript und meta-refresh kombiniert bedeutet die Potenzierung der Barrieren.
Ich kann davon nur abraten.

@Petra65:
deine includes sind mir elider unbekannt.
evtl. hilft folgende Codeänderung


<html><head><title>Test</title> 
<script type="text/javascript"> 
<!-- 
var bilder = new Array(); 
bilder[0] = new Image(); bilder[0].src = "images/Bild_2.jpg"; 
bilder[1] = new Image(); bilder[1].src = "images/Bild_3.jpg"; 
bilder[2] = new Image(); bilder[2].src = "images/Bild_4.jpg"; 
bilder[3] = new Image(); bilder[3].src = "images/Bild_1.jpg"; 
var bildnr = 4; 
function Animation() 
{ 
bildnr = (bildnr > 3) ? 0:bildnrj+1; 
document.images["hans"].src = b[bildnr].src; 
window.setTimeout("Animation()",1000); 
} 
//--> 
</script> 
</head>
<body onload="window.setTimeout(´Animation()´,1000); 
"> 
<img src="images/Bild_1.jpgf" width="400" height="300" alt="Hans" name="hans"> 
</body></html>


neben kleineren redaktionellen Änderungen ist der Kernpunkt die Bennenung des Bildes mit name="hans" und das Ansprechen von JavaScript aus darüber, sowie die Umbenennung von var i in var bildnr, da i sehr gebräuchlich ist und daher evtl. schon in irgendeinem eingebundenem teil benutzt wird (entsprechend var b in var bilder).

so ganz klar ist mir aber auch nicht, wie du die beiden Seiten-Codes nun miteinander verbunden hast, vielleicht gibst du mal an, wie du Bilderscript und php-includes in einer Seite untergebracht hast.

Antwort 5 von sdasdas

dsgasgdfsg

Antwort 6 von Petra65

Tja, das weiss isch selber nicht!!!!

Die Homepage läuft hinter einer Hauptseite,
und damit alle Grafiken usw. von der Hauptseite auch bei uns sichtbar sind hat mir der Betreiber der Hauptseite den Code eingebunden - teilweise weiss ich selber nicht was da passiert
:-)
Ich habe dann nur den Rest in HTML geschrieben.

Ich probiere nun mal Eure Vorschläge aus - vielen Dank!!!

Gruss
Petra

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: