php.de

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

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.10.2011, 10:30  
Benutzer
 
Benutzerbild von IgelHaut
 
Registriert seit: 22.07.2008
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
IgelHaut ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Kein Zugriff auf Variable

Hallo Community,
hab lange nix mehr gepostet...
Und jetzt gleich mit 'nem Problem:
ich weiß nicht wieso allerdings habe ich in diesem Code ein Problem mit dem
Zugriff auf eine Variable.
Code:
<script type="text/javascript">
function bx(bxname) {
    this.boxname = bxname;

    this.show = function() {
        var box = document.getElementById(this.bxname); //Funktioniert
        box.style.display = 'block';
        
        window.onmousemove = this.mm;
    }

    this.mm = function(event) {
        if(!event) {var event = window.event;}
        var box = document.getElementById(this.boxname); //Funktioniert nicht
    }
}
</script>
Im Code hab ich hinter die Zeilen die funktionieren / nicht funktionieren
entsprechen den Kommentar geschrieben.
Kann mir jemand bei der Lösung helfen?

IgelHaut
__________________
http://igelhaut.org
IgelHaut ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.10.2011, 10:57  
Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 87
PHP-Kenntnisse:
Fortgeschritten
ChristianK ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sind Rechtschreibfehler im Preis inbegriffen?

Du deklarierst this.boxname, aber this.bxname funktioniert und this.boxname nicht?
ChristianK ist offline   Mit Zitat antworten
Alt 02.10.2011, 10:59  
Benutzer
 
Benutzerbild von IgelHaut
 
Registriert seit: 22.07.2008
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
IgelHaut ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, hab mich nur gerade im Post verschrieben.
Im originalen Code sind beide Namen identisch.
__________________
http://igelhaut.org
IgelHaut ist offline   Mit Zitat antworten
Alt 02.10.2011, 11: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

Einfach bissi konzentrierter arbeiten.
Die Eigenschaft boxname schreibst du im Konstruktor mit o, in show ohne o (und das funktioniert angeblich), in mm schreibst dus wieder wie im constructor, allerdings solls dort nicht gehen? Sieht bissi nach fantasiecode aus

edit: zu lahm, aber zeig doch mal den echten code
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 02.10.2011, 11:08  
Benutzer
 
Benutzerbild von IgelHaut
 
Registriert seit: 22.07.2008
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
IgelHaut ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
function tooltip(tooltipbox) {
    this.boxname = tooltipbox;
    
    this.show = function(text) {
        var box = document.getElementById(this.boxname);
        
        box.style.display = 'block';
        box.style.position = 'absolute';
        box.innerHTML = text;
        
        window.onmousemove = this.move;
    }
    
    this.move = function(event) {
        if(!event) {var event = window.event;}
        var box = document.getElementById(this.boxname);
        
        if(box.style.display != 'none') {
            box.style.top = event.clientY+(box.offsetHeight);
            box.style.left = event.clientX;
            if(box.offsetHeight+event.clientY > window.innerHeight) {
                box.style.top = window.innerHeight-box.offsetHeight;
            }
            if(box.offsetWidth+event.clientX > window.innerWidth) {
                box.style.left = window.innerWidth-box.offsetWidth;
            }
        }
    }
    
    this.hide = function() {
        var box = document.getElementById(this.boxname);
        box.style.display = 'none';
    }
}
__________________
http://igelhaut.org
IgelHaut ist offline   Mit Zitat antworten
Alt 02.10.2011, 11:27  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

"funktioniert nicht" heisst was genau? Hast du mal den debugger angeworfen? Wer ruft hide/move/show auf und wie vor allem?

P.S.:
Code:
if(!event) {var event = window.event;}
ist unfug. Mach das var dort mal weg.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 02.10.2011, 11:32  
Benutzer
 
Benutzerbild von IgelHaut
 
Registriert seit: 22.07.2008
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
IgelHaut ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Natürlioch hab ich das durch 'nen Debugger laufen lassen.
Er zeigt mir an, dass box null ist.
Also dass this.boxname undefined ist.
Die beiden anderen Funktionen werfen keine Fehler auf.
__________________
http://igelhaut.org
IgelHaut ist offline   Mit Zitat antworten
Alt 02.10.2011, 11:40  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Beantworte bitte alle Fragen. Ich wiederhole mich nicht gern.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 02.10.2011, 15:42  
Benutzer
 
Benutzerbild von IgelHaut
 
Registriert seit: 22.07.2008
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
IgelHaut ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie man erkennen kann ist die Funktion eine Ersetzung für den Tooltip.
Bei einem onMouseOver="tooltip.show('text');" wird der Tooltip aktiviert und bei onMouseOut="tooltip.hide();" ausgeblendet.
Mit
Code:
<script type="text/javascript">
var tooltip = new tooltip('tooltip');
</script>
wird die Klasse von dem User am Anfang meiner Seite erstellt.
__________________
http://igelhaut.org
IgelHaut ist offline   Mit Zitat antworten
Alt 02.10.2011, 16:10  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Und welche Methode genau klappt nicht? wenn ich den Ausgangspost mit deinem eigentlich Code vergleiche, dann dürfte die move nicht funktionieren. Wie wird diese aufgerufen?
Im übrigen dürfte es ungeschickt sein, die klasse exakt so zu benennen wie die Variable...
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Antwort


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
PHP Text wird nicht ausgegeben / Notice: undefined variable MBaaboura PHP Einsteiger 26 26.09.2011 11:09
[Erledigt] Mehrere Querys hintereinander funktionieren nicht wernersbacher Datenbanken 3 14.03.2011 23:08
[Erledigt] Variable in foreach erweitern ohne zurücksetzen Polliny PHP Tipps 2010 2 23.06.2010 10:13
[Erledigt] sql - Variable ?? Exception PHP Tipps 2010 9 20.02.2010 04:03
Problem Undefined variable: banbanban PHP Tipps 2009 5 04.03.2009 17:55
Gleichzeitiger Zugriff auf selbe Variable freakymiky PHP Tipps 2008 2 16.12.2008 15:30
Variable per Session übergeben? Spricht etwas dagegen? Lapje PHP Tipps 2008 6 20.10.2008 21:49
Undefined variable Undefined property: block xxJJxx PHP Tipps 2008 16 05.08.2008 15:30
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
nach include kein zugriff auf variable nautiluS PHP Tipps 2005 11 11.04.2005 18:50
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
error: Zugriff auf protected variable aus extendet klasse PHP Tipps 2004 3 26.09.2004 23:39
Zugriff auf Variable in Subclass McLain PHP-Fortgeschrittene 5 24.09.2004 13:17
Zugriff von einer PHP Seite auf eine Variable der anderen. PHP Tipps 2004 4 02.08.2004 01:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:35 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