php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.11.2011, 11:26  
Benutzer
 
Registriert seit: 23.12.2009
Beiträge: 31
PHP-Kenntnisse:
Fortgeschritten
Peter MacFu kann nur auf Besserung hoffen
Standard Slider mit Navigation - Problem mit innerHTML

Hey Ihr,
ich programmiere gerade mit jquery einen "Slider" aber eher mit Fade anstatt einem Slide-Effekt. Alles funktioniert soweit, auch Buttons wie "vor" und "zurück" aber nun möchte ich eine Navigation (Slide 1, Slide 2, Slide 3 usw) generieren, bei Klick auf "Slide 1" soll der erste Slide usw. Das Ganze dynamisch, da die Anzahl der Slides ja auch unterschiedlich ist (je nachdem wieviele Slides ich anlege). Deshalb auch in JS per for-Schleife. Nun muss ich das ja per innerHTML in der Seite ausgeben aber daraus lässt sich ja keine Funktion starten wie zB "showslide1()". Gibt es da eine andere Möglichkeit?

JS-Code der Navi:
Code:
	for (var i = 1; i <= anzahl; i++){
		if(i > 1){navi = navi + '&nbsp;';}
		navi = navi + '<a href="#">Slide' + i + '</a>';
	}	
	
	document.getElementById('navi').innerHTML = navi;
und HTML-Ausgabe:
Code:
<span id="navi"></span>
Peter MacFu ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.11.2011, 12:58  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Bitte nochmal von vorn. Bitte bedenke, wir kennen deine Seite und dein Projekt nicht, ein verlinktes Beispiel oder auch kein Fantasiecode wären sehr hilfreich.

Zitat:
document.getElementById('navi').innerHTML = navi;
jQuery:
PHP-Code:
$( '#navi' ).htmlnavi ); 
Besser: per json nachladen, ein template verwenden, rendern lassen.
Um deine events zuordnen können, arbeite entweder direkt mit dem gerenderten Template oder einfach mit .delegate() (oder auch .on() in jQ 1.7).

Hier mal ein Beispiel mit jquery tmpl:

PHP-Code:
foo = function () {};
foo.prototype = {
    
/**
     * @throws {TypeError}
     */
    
load : function () {
       
        $.
when(
            $.
getJSONthis.url )
        )
        .
then( function( response ) {
           
            if( ! 
response || response.success === undefined || ! response.success ) {
                
this.fail();
                return;
            }
           
            if( ! $.
isArrayresponse.data ) ) {
                throw new 
TypeError'data has to be an array' )
            }
           
            
this.data response.data;
            
this.render();
           
        }.
bindthis ) )
        .
failthis.fail.bindthis ) )
    },
    
render : function ( data ) {
        
this.elements this.template
            
.tmplthis.data )
            .
appendTothis.room )
            .
click( function () {
                $( 
this ).toggleClass'ui-selected' );
            } );
           
        
this.xyzElement.trigger'load', [ this.elements ] );
    },
    
fail : function () {
        
deineNotifyFn"fehler"".." )
    },
    
// etc

Grüße


Basti
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 18.11.2011, 13:29  
Benutzer
 
Registriert seit: 23.12.2009
Beiträge: 31
PHP-Kenntnisse:
Fortgeschritten
Peter MacFu kann nur auf Besserung hoffen
Standard

Hey, es zeigt die Navigation zwar mit deinem Code
Code:
$( '#navi' ).html( navi );
auch an aber dennoch ist das Problem gleich. Also muss ich nachladen? Wie geht das? Bzw. wozu? Sorry so weitreichende Erfahrungen habe ich noch nicht.

PS: Der Code von mir reicht doch aus für das Problem. Alles weitere wäre unnötig und verwirrend. Die Funktion die per Navigation aufgerufen werden soll ich ja egal, es geht nur darum, dass allgemein keine Funktionen mit dieser Methode über die Links der Navigation möglich sind.
Peter MacFu ist offline  
Alt 18.11.2011, 13:32  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Peter MacFu Beitrag anzeigen
PS: Der Code von mir reicht doch aus für das Problem.
Na dann löse es doch

Zitat:
Alles weitere wäre unnötig und verwirrend.
Ein Online-Beispiel (valider Code, auf’s wesentliche reduziert) würde dein Problem für jeden Mitleser schnell nachvollziehbar machen.
Dass sich jeder allein auf Basis eines hingeworfenen Scriptschnippsel gleich vorstellen kann, was du willst, versucht hast und vor allem falsch gemacht hast, kannst du nicht unbedingt erwarten.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 18.11.2011, 13:45  
Benutzer
 
Registriert seit: 23.12.2009
Beiträge: 31
PHP-Kenntnisse:
Fortgeschritten
Peter MacFu kann nur auf Besserung hoffen
Standard

Also zum Vorstellen: ich will eine Navigation ausgeben (dynamisch per JS-for-Schleife), wo jeder Link ein Alert ausgibt, zum Beispiel "Test".
Peter MacFu ist offline  
Alt 18.11.2011, 14:01  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Zitat:
Ein Online-Beispiel (valider Code, auf’s wesentliche reduziert) würde dein Problem für jeden Mitleser schnell nachvollziehbar machen.
Wenn das oben bisher alles ist, was du hast, hast du dich meiner Meinung nach noch nicht genug mit den erforderlichen Grundlagen beschäftigt.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 18.11.2011, 14:13  
Benutzer
 
Registriert seit: 23.12.2009
Beiträge: 31
PHP-Kenntnisse:
Fortgeschritten
Peter MacFu kann nur auf Besserung hoffen
Standard

Also soll ich irgendwelchen balanglosen Code dazu posten, damit ich deiner Meinung nach mehr Verständnis vorweise? Ergibt keinen Sinn, ganz ehrlich. Der von mir gezeigte Code ist auf’s wesentliche reduziert und ein Onlinebeispiel kann ich im Moment nicht liefern.
Peter MacFu ist offline  
Alt 18.11.2011, 14:21  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Peter MacFu Beitrag anzeigen
Nun muss ich das ja per innerHTML in der Seite ausgeben aber daraus lässt sich ja keine Funktion starten wie zB "showslide1()". Gibt es da eine andere Möglichkeit?
Mit jQuery lassen sich doch problemlos Eventhandler an bestehende HTML-Elemente binden, also wo ist das Problem?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 18.11.2011, 14:29  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Vorgekaut:
PHP-Code:
$navi = $( navi )
  .
appendTo'#navi' )
  .
click( function () { 
    
location.href'http://docs.jquery.com/Frequently_Asked_Questions' ;
  }) 
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 18.11.2011, 14:36  
Benutzer
 
Registriert seit: 23.12.2009
Beiträge: 31
PHP-Kenntnisse:
Fortgeschritten
Peter MacFu kann nur auf Besserung hoffen
Standard

Aber doch eben nur, wenn das Element auch im DOM ist. Ist es aber nicht da per
Code:
$( '#navi' ).html( navi );
eingefügt.

Vielleicht reden wir aneinander vorbei. Kannst du mir ein Beispiel an meinem Code zeigen?
Peter MacFu ist offline  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery - zwei Slider in Abhängigkeit voneinander Koala JavaScript, Ajax und mehr 44 14.04.2011 11:26
Problem mit Drop Down Menu Kein Genie HTML, Usability und Barrierefreiheit 2 04.11.2008 21:55
Problem mit PHP Navigation hagene PHP Tipps 2008 4 09.10.2008 23:33
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
Timestamp problem phrain PHP Tipps 2008 2 04.04.2008 09:41
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem mit Navigation HTML, Usability und Barrierefreiheit 4 10.02.2006 18:32
Probs mit Layout für Navigation mit Grafiken/Hintergrund HTML, Usability und Barrierefreiheit 3 08.02.2006 19:56
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
Navigation snatch-ic PHP Tipps 2007 4 08.01.2006 12:11
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
div layer navigation HTML, Usability und Barrierefreiheit 1 18.11.2004 15:44
Problem mit Layout PHP Tipps 2004 7 27.09.2004 15:24
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
slider navigation does not work, html slider with navigation, js innerhtml slide, slider with navigation, php navigation slider, navi in html mit slider, innerhtml jquery php, navigation mit innerhtml, php slider mit navigation, html navigation slider

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum