php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.08.2010, 07:42  
22hase
Gast
 
Beiträge: n/a
Standard Javascript / Ajax Tooltip Div Position

Guten Morgen.

ich habe mal versucht ein Tooltip zuschreiben, dieserfunktioniert auch soweit.

PHP-Code:
function showUser(str)
{    
    
document.getElementById("content").onclick=mouseMove;

    if (
str=="")
    {
        
document.getElementById("txtHint").innerHTML="";
        return;
    }

    if(
window.XMLHttpRequest)
    {
// code for IE7+, Firefox, Chrome, Opera, Safari
        
xmlhttp=new XMLHttpRequest();
    }
    else
    {
// code for IE6, IE5
        
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    
    
xmlhttp.onreadystatechange=function()
    {
        if(
xmlhttp.readyState==&& xmlhttp.status==200)
        {
            
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
    
xmlhttp.open("GET","ticket.php?page=" str,true);
    
xmlhttp.send();
}

function 
mouseMove(e)
{
    var 
x,y;
    if (!
document.all
    {
        
x=e.clientX;
            
y=e.clientY;
    }
    else 
    {
        
x=event.clientX;
        
y=event.clientY;
    }
    
document.getElementById("txtHint").style.left x+20 'px';
    
document.getElementById("txtHint").style.top 'px';
    
document.getElementById("txtHint").style.display 'block';
}
    
function 
closed()
{
    
document.getElementById("txtHint").style.display 'none';

Leider brauche ich doch ein wenig Hilfe bei ein paar Änderungen und ich hoffe ihr gebt mir Rat.

Ich würde gern das sich die der Layer automatisch erkennt wo der Bildschirm zuende ist und sich statt rechts neben dem Layer dann eben links daneben öffnet. Desweiteren würde ich gern das er nur auf geht wenn man auch auf einen link klickt, denn derzeit ist es so das wenn er einmal auf ist und man ihn nicht schließt er bei jeden klick auf der Seite an die Mausposition springt. Liegt sicher an
Code:
document.getElementById("content").onclick=mouseMove;
.

Javascript und Ajax ist leider nicht so meins und verwende ich eher selten, deswegen bitte ich um Hilfe.

Lg und nice Day.

EDIT: ahhhh verdammt falsches Forum, scheiß Montage :/ bitte um Verschiebung

Geändert von 22hase (16.08.2010 um 07:46 Uhr).
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.08.2010, 13:40  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.726
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Zitat:
Zitat von 22hase Beitrag anzeigen
Liegt sicher an
Code:
document.getElementById("content").onclick=mouseMove;
.
Ich kann nur raten, da du sonst nichts von deiner Seite zeigst aber wenn content deine gesamte Seite ist und du content.onclick deine mouseMove Funktion zuweist, kommt dir das nicht selber falsch vor? Was willst du damit bezwecken?

1. sollte sich das Event doch auf die Links beziehen, denen du Tooltips zuweisen willst und nicht auf die gesamte Seite.

2. hat die Funktion einen irreführenden Namen, anscheinend soll sie ja beim Klick auf einen Link das Tooltip an der passenden Stelle anzeigen. Oder soll es doch bei mouseOver erscheinen und sich mitbewegen? Entscheide dich
fab ist offline   Mit Zitat antworten
Alt 16.08.2010, 14:23  
22hase
Gast
 
Beiträge: n/a
Standard

Ja die funktion habe ich aus mein admin bereich übernommen, habse nur noch nicht umbenannt.

ich will schon ein Klick haben, nur sollte es eben erkennen wenn der Bildschirm zuende ist es dann keinen Scrolbalken horizontal gibt wie es derzeit der Fall ist, sondern sich in die andere Reichtung öffnet.


Mit contenthattest recht ^^ ist ja die gesamte page, hab mich da vertan.
  Mit Zitat antworten
Alt 16.08.2010, 19:35  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

jQuery:

Mausposition
Breite (z.B. der Seite)
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 16.08.2010, 21:45  
22hase
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
jQuery:

Mausposition
Breite (z.B. der Seite)

jo danke, gabs von jquery net auch einen tooltip der daten dynamisch holen kann? weil ich glaub damit kommt manm doch besser als mit dem selbst geschriebenen mist ^^
  Mit Zitat antworten
Alt 17.08.2010, 09:07  
22hase
Gast
 
Beiträge: n/a
Standard

So hab mich mal bissl reingefuxt und folgendes geschrieben. was auch soweit funktioniert.

PHP-Code:
$(document).ready(function() 
{
    $(
"a.tooltip").click(function() 
    {
    var 
linkId = $(this).attr("id");

    $.
ajax({
            
type"GET",
            
url"ajax.php",
            
data"page=" linkId,
            
success: function(data,e
                    {
                    $(
"#txtHint").html(data);
                    $(
"#txtHint").css("display","block"); 
                    $(
"#txtHint").css("top",  e.pageY+"px"); 
                    $(
"#txtHint").css("left"e.pageX+"px"); 
                    }
              });
       });
});

   $(
document).click(function(e){
      $(
'#status2').html(e.pageX +', 'e.pageY);
   }); 

$(
document).ready(function(){
   $().
click(function(e)
   {
       if(
e.pageX <= 800)
    {
    $(
"#txtHint").css("top",  e.pageY+"px"); 
    $(
"#txtHint").css("left"e.pageX+"px"); 
    }
    else
    {
    $(
"#txtHint").css("top",  e.pageY+"px"); 
    $(
"#txtHint").css("left"e.pageX-320+"px"); 
    }
   }); 
});

function 
closed()
{
    
document.getElementById("txtHint").style.display 'none';

die Ausgabe der Links sieht so aus.

PHP-Code:
<div id="content">
   <
div class="content_kontinent">
     <
div class="kontinent">Afrika</div>
       <
div class="tickets"><class="tooltip" id="24"><span class="start">Yola</span></a> <span class="center">-</span> <span class="preis">258 €</span></div>
   </
div>
</
div
Da ich wie gesagt das net so häufig nutze, vielleicht habt ihr tipps oder verbesserungsvorschläge
  Mit Zitat antworten
Alt 17.08.2010, 09:44  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Statt 8x $("#txtHint") zu schreiben, würde ich eine Variable verwenden, 2x $(document).ready() ist auch überflüssig, eine fixe Pixelzahl zum Linksausrichten würde ich auch nicht verwenden, versuch doch mal eine andere Auflösung und stattdessen $(window).width() minus die Breite des Tooltips. Statt data "page=" + linkId würde ich {page: linkId} verwenden, dann übernimmt jQuery für dich das korrekte escapen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 17.08.2010, 10:27  
22hase
Gast
 
Beiträge: n/a
Standard

So habe das mal geändert. Danke für die Hinweise, hoffe ich hab es richtig umgesetzt

PHP-Code:
$(document).ready(function() 
{
    var 
txtHint "#txtHint";
    

   $().
click(function(e)
   {
    var 
breite = $("#page").width()-$(txtHint).width();

       if(
e.pageX breite)
    {
    $(
txtHint).css("top",  e.pageY+"px"); 
    $(
txtHint).css("left"e.pageX+"px"); 
    }
    else
    {
    $(
txtHint).css("top",  e.pageY+"px"); 
    $(
txtHint).css("left"e.pageX-320+"px"); 
    }
   }); 
   

    $(
"a.tooltip").click(function() 
    {
    var 
linkId = $(this).attr("id");

    $.
ajax({
            
type"GET",
            
url"ajax.php",
            
data: {pagelinkId},
            
            
success: function(data,e
                    {
                    $(
txtHint).html(data);
                    $(
txtHint).css("display","block"); 
                    }
              });
       });
});

   $(
document).click(function(e){
      $(
'#status2').html(e.pageX +', 'e.pageY);
   }); 

function 
closed()
{
    
document.getElementById("txtHint").style.display 'none';

  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
[Erledigt] ToolTip mit Grafik und spezielle Detail's anzeigen localhost. PHP Tipps 2010 32 09.06.2010 16:56
Ergebniswert an weiteres Javascript weitergeben (+Ajax?) fryswe JavaScript, Ajax und mehr 1 17.05.2010 13:43
Wie lade ich ein Javascript nach einer AJAX Abfrage neu? da.eXecutoR JavaScript, Ajax und mehr 3 21.09.2009 11:15
Handbücher / Onlinetutos für JavaScript / Ajax buggybugga JavaScript, Ajax und mehr 4 07.08.2009 11:55
PHP Tooltip AJAX webdino PHP Tipps 2009 2 19.06.2009 11:26
javascript countdown mit ajax einbinden chrismh JavaScript, Ajax und mehr 1 18.04.2009 11:29
1101: 10x JavaScript und kein Ende ist abzusehen… Nikolaus 2.0 Adventskalender 2008 9 13.12.2008 20:11
Kalender ohne Neuladen der Seite PHP, Javascript, Ajax Earl3000 JavaScript, Ajax und mehr 16 11.12.2008 22:07
Ajax - PHP - XML - JavaScript phpbeginner HTML, Usability und Barrierefreiheit 2 26.11.2007 16:48
Javascript in Ajax responseText funktioniert nicht Plague PHP Tipps 2007 6 03.07.2007 21:08
JavaScript Tooltip funktioniert nicht &lt;Daniel&gt; HTML, Usability und Barrierefreiheit 2 13.09.2006 13:02
Javascript (AJAX) Error (Syntax-Fehler) lomtas HTML, Usability und Barrierefreiheit 4 04.08.2006 09:41
javascript probleme bei Ajax anwendung Sclot HTML, Usability und Barrierefreiheit 11 22.03.2006 13:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript ajax send div position, ajax tooltip, tooltip ajax, jquery tooltip bildschirmrand, http://www.php.de/html-usability-und-barrierefreiheit/70809-javascript-ajax-tooltip-div-position.html, javascript tooltip position, jquery tooltip div, php tooltip, jquery tooltip ajax, tooltip events ajax, jquery ajax tooltip, div tooltip, javascript tooltip positioning, tooltip javascript, ajax tooltips, tooltip links ausrichten, ajax div positionieren, div mit ajax positionieren, jquery tooltip position, javascript div position

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