PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Bild faden per buttonklick
Beitrag
<blockquote data-quote="silence12121" data-source="post: 1458193" data-attributes="member: 303574"><p>Hallo, ich weiß is spät, aber das is ja gott sei dank relativ...<img src="/styles/default/xenforo/smilies/rolleyes.gif" class="smilie" loading="lazy" alt=":rolleyes:" title="Roll Eyes :rolleyes:" data-shortname=":rolleyes:" /></p><p></p><p>Ich hab n problem, und entweder steh ich voll auf dem schlauch oder ich bin mittlerweile betriebsblind.</p><p>Erstmal zu meinem Problem. Ich möchte eine Bildergalerie erstellen, wo beim Bildwechsel ein-bzw. ausgeblendet wird. Soweit die theorie.</p><p>Als Interval funktioniert das ganze auch soweit. Aber ich versuche irgendwie schon seit ner ganzen weile die stelle zu finden, wo ich das script anpassen muss, damit es per buttonclick funzt. Aber egal was ich versuche, es klappt einfach nicht. :'<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt="(:" title="Smile (:" loading="lazy" data-shortname="(:" />'(</p><p></p><p>Vielleicht könnte einer von euch mir n tipp geben, wo ich anfangen muss. </p><p></p><p>Ich poste das Script mal als lauffähigen Interval um das als Grundlage zu nehmen. Meine unzähligen missglückten Versuche möchte ich euch gerne ersparen. Buttons / Bilder sind im script schon mitangelegt, müssten von euch ggf. als kl. Datei erstellt werden.</p><p></p><p>Wär jedenfalls super, wenn mir einer von euch n denkanreiz geben könnte, weil wie gesagt, bei mir sitzt n Elefant auf der leitung.</p><p></p><p>Das Script</p><p>[code]</p><p><html></p><p></p><p><head></p><p> <script type="text/javascript"></p><p>function imageLine()</p><p> {</p><p> var checkInterval = null,</p><p> imageLineInterval = null,</p><p> currentImage = -1;</p><p></p><p> images = new Array(</p><p> 'bild0.jpg', // Alle Bilder die angezeigt werden sollen</p><p> 'bild1.jpg',</p><p> 'bild2.jpg',</p><p> 'bild3.jpg',</p><p> 'bild4.jpg',</p><p> 'bild5.jpg'</p><p> );</p><p> </p><p> </p><p> loadingImages = new Array(); </p><p> // Dieses Array enthält später alle Objekte</p><p> </p><p> this.run = function()</p><p> {</p><p> checkInterval = window.setInterval('this.checkIfLoaded();', 100); </p><p>// Alle 100 Millisekunden prüfen ob alle Bilder geladen sind</p><p> </p><p> for(i = 0;i < images.length;i++) </p><p> // Alle Images in dem Array einzeln Durchgehen</p><p> {</p><p> image = images[i];</p><p> loadingImages.push(new Image); </p><p> // Array für die Objekte für Bilder vorbereiten</p><p> loadingImages[i].src = image; </p><p>// neuen Objekt die Url des momentanen Bildes geben</p><p> }</p><p> }</p><p> </p><p> this.checkIfLoaded = function()</p><p> {</p><p> allLoaded = true;</p><p> for(i = 0;i < loadingImages.length;i++) </p><p>// Alle Objekte durchgehen</p><p> {</p><p> loadingImage = loadingImages[i];</p><p> if(!loadingImage.complete) </p><p>// Prüfen ob das aktuelle Objekt / Bild geladen ist</p><p> allLoaded = false; </p><p>// Falls nicht dann die Variable zur Prüfung auf false setzen</p><p> }</p><p></p><p> if(allLoaded) </p><p>// Wenn alle Objekte / Bilder geladen sind</p><p> {</p><p> window.clearInterval(checkInterval); </p><p>// Die Interval für das Prüfen löschen</p><p> this.startImageLine(); </p><p>// Das erste Bild anzeigen</p><p> window.setInterval('this.startImageLine();', 3000); </p><p>// Bilder wechseln alle 3 Sekunden ausführen</p><p> }</p><p> }</p><p> </p><p> this.startImageLine = function()</p><p> {</p><p> this.showImage(); </p><p>// Bild anzeigen</p><p> </p><p> if(currentImage == (loadingImages.length - 1)) </p><p> // vergleiche Anzahl Bilder</p><p> currentImage = 0; </p><p>// wenn max. Anzahl erreicht, fange bei 0 an</p><p> else</p><p> currentImage += 1; </p><p>// wenn nicht, dann zähle +1</p><p> </p><p> element = document.getElementById('imageline'); </p><p> // Element für die Bilderanzeige</p><p> element.style.height = loadingImages[currentImage].height + 'px';</p><p> element.style.width = loadingImages[currentImage].width + 'px'; </p><p> // Dem Element die Breite und Höhe des momentanen Bildes geben</p><p> element.style.backgroundImage = 'url(' + loadingImages[currentImage].src + ')'; </p><p>// legt das aktuelle Bild als Hintergrund fest</p><p> </p><p> window.setTimeout('this.hideImage();', 2500); </p><p> // Bild in 2,5 Sekunden ausblenden</p><p> }</p><p> </p><p> this.hideImage = function() </p><p>// Bild verstecken</p><p> {</p><p> element = document.getElementById('imageline'); </p><p>// aktuelles Bild aus div beziehen</p><p> for(i = 0;i <= 100;i++)</p><p> window.setTimeout('element.style.filter = "Alpha(opacity=' + (100 - i) + ')"; element.style.MozOpacity = ' + (1 - i / 100) + '; element.style.opacity = ' + (1 - i / 100) + ';', i * 5);</p><p> // Von 0 bis 100 (Prozent)</p><p> // Das i * 5 dient dazu, dass das Ausblenden nicht zu schnell geht</p><p> }</p><p> </p><p> this.showImage = function() </p><p> // Bild anzeigen</p><p> {</p><p> element = document.getElementById('imageline'); </p><p> // aktuelles Bild aus div beziehen</p><p> for(i = 0;i <= 100;i++)</p><p> window.setTimeout('element.style.filter = "Alpha(opacity=' + i + ')"; element.style.MozOpacity = ' + i / 100 + '; element.style.opacity = ' + i / 100 + ';', i * 5);</p><p> </p><p> }</p><p> </p><p> this.run();</p><p> }</p><p> </p><p></p><p></p><p> </p><p> </script></p><p> <style> img {border:none;} </style></p><p></head></p><p></p><p></p><p><body onLoad="imageLine();"></p><p></p><p><div id="imageline"></div></p><p><a href="javascript:this.startImageLine"><img src="b1.png"></a></p><p><a href="javascript:this.startImageLine"><img src="b2.png"></a></p><p> </p><p></body></p><p></html></p><p>[/code]Danke!!!!!!!</p></blockquote><p></p>
[QUOTE="silence12121, post: 1458193, member: 303574"] Hallo, ich weiß is spät, aber das is ja gott sei dank relativ...:rolleyes: Ich hab n problem, und entweder steh ich voll auf dem schlauch oder ich bin mittlerweile betriebsblind. Erstmal zu meinem Problem. Ich möchte eine Bildergalerie erstellen, wo beim Bildwechsel ein-bzw. ausgeblendet wird. Soweit die theorie. Als Interval funktioniert das ganze auch soweit. Aber ich versuche irgendwie schon seit ner ganzen weile die stelle zu finden, wo ich das script anpassen muss, damit es per buttonclick funzt. Aber egal was ich versuche, es klappt einfach nicht. :'(:'( Vielleicht könnte einer von euch mir n tipp geben, wo ich anfangen muss. Ich poste das Script mal als lauffähigen Interval um das als Grundlage zu nehmen. Meine unzähligen missglückten Versuche möchte ich euch gerne ersparen. Buttons / Bilder sind im script schon mitangelegt, müssten von euch ggf. als kl. Datei erstellt werden. Wär jedenfalls super, wenn mir einer von euch n denkanreiz geben könnte, weil wie gesagt, bei mir sitzt n Elefant auf der leitung. Das Script [code] <html> <head> <script type="text/javascript"> function imageLine() { var checkInterval = null, imageLineInterval = null, currentImage = -1; images = new Array( 'bild0.jpg', // Alle Bilder die angezeigt werden sollen 'bild1.jpg', 'bild2.jpg', 'bild3.jpg', 'bild4.jpg', 'bild5.jpg' ); loadingImages = new Array(); // Dieses Array enthält später alle Objekte this.run = function() { checkInterval = window.setInterval('this.checkIfLoaded();', 100); // Alle 100 Millisekunden prüfen ob alle Bilder geladen sind for(i = 0;i < images.length;i++) // Alle Images in dem Array einzeln Durchgehen { image = images[i]; loadingImages.push(new Image); // Array für die Objekte für Bilder vorbereiten loadingImages[i].src = image; // neuen Objekt die Url des momentanen Bildes geben } } this.checkIfLoaded = function() { allLoaded = true; for(i = 0;i < loadingImages.length;i++) // Alle Objekte durchgehen { loadingImage = loadingImages[i]; if(!loadingImage.complete) // Prüfen ob das aktuelle Objekt / Bild geladen ist allLoaded = false; // Falls nicht dann die Variable zur Prüfung auf false setzen } if(allLoaded) // Wenn alle Objekte / Bilder geladen sind { window.clearInterval(checkInterval); // Die Interval für das Prüfen löschen this.startImageLine(); // Das erste Bild anzeigen window.setInterval('this.startImageLine();', 3000); // Bilder wechseln alle 3 Sekunden ausführen } } this.startImageLine = function() { this.showImage(); // Bild anzeigen if(currentImage == (loadingImages.length - 1)) // vergleiche Anzahl Bilder currentImage = 0; // wenn max. Anzahl erreicht, fange bei 0 an else currentImage += 1; // wenn nicht, dann zähle +1 element = document.getElementById('imageline'); // Element für die Bilderanzeige element.style.height = loadingImages[currentImage].height + 'px'; element.style.width = loadingImages[currentImage].width + 'px'; // Dem Element die Breite und Höhe des momentanen Bildes geben element.style.backgroundImage = 'url(' + loadingImages[currentImage].src + ')'; // legt das aktuelle Bild als Hintergrund fest window.setTimeout('this.hideImage();', 2500); // Bild in 2,5 Sekunden ausblenden } this.hideImage = function() // Bild verstecken { element = document.getElementById('imageline'); // aktuelles Bild aus div beziehen for(i = 0;i <= 100;i++) window.setTimeout('element.style.filter = "Alpha(opacity=' + (100 - i) + ')"; element.style.MozOpacity = ' + (1 - i / 100) + '; element.style.opacity = ' + (1 - i / 100) + ';', i * 5); // Von 0 bis 100 (Prozent) // Das i * 5 dient dazu, dass das Ausblenden nicht zu schnell geht } this.showImage = function() // Bild anzeigen { element = document.getElementById('imageline'); // aktuelles Bild aus div beziehen for(i = 0;i <= 100;i++) window.setTimeout('element.style.filter = "Alpha(opacity=' + i + ')"; element.style.MozOpacity = ' + i / 100 + '; element.style.opacity = ' + i / 100 + ';', i * 5); } this.run(); } </script> <style> img {border:none;} </style> </head> <body onLoad="imageLine();"> <div id="imageline"></div> <a href="javascript:this.startImageLine"><img src="b1.png"></a> <a href="javascript:this.startImageLine"><img src="b2.png"></a> </body> </html> [/code]Danke!!!!!!! [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 5, ▼ = 2 und ■ = 7, was ist ▲ × ▼ + ■?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Bild faden per buttonklick
Oben