Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
<script type="text/javascript">
wmtt = null;
document.onmousemove = updateWMTT;
function updateWMTT(e) {
if (wmtt != null && wmtt.style.display == 'block') {
x = (e.pageX ? e.pageX : window.event.x) + wmtt.offsetParent.scrollLeft - wmtt.offsetParent.offsetLeft;
y = (e.pageY ? e.pageY : window.event.y) + wmtt.offsetParent.scrollTop - wmtt.offsetParent.offsetTop;
wmtt.style.left = (x + 20) + "px";
wmtt.style.top = (y + 20) + "px";
}
}
function showWMTT(id) {
wmtt = document.getElementById(id);
wmtt.style.display = "block";
}
function hideWMTT() {
wmtt.style.display = "none";
}
</script>
<div id="tooltip1" class="tooltip">Niedersachsen</div>
.tooltip {
position: absolute;
display: none;
background-color: #ff00bb;
border-width: 1px;
border-style: solid;
border-color: #000;
padding: 5px;
text-align: left;
text-decoration: none;
font-family: Tahoma;
font-size: 12px;
font-weight: bold;
z-index: 1000;
}
<onmouseover="showWMTT('tooltip1')" onmouseout="hideWMTT()" href="deineseite.php" />
<figure>
<div class="tooltip1" id="pic"><img src="admidio/adm_program/modules/profile/profile_photo_gross_zeigen.php?user_uuid=<?=$zeile->usr_uuid;?>"></div>
<a img="#" onMouseOver="showWMTT ('pic')" onMouseOut="hideWMTT()"><img src="admidio/adm_program/modules/profile/profile_photo_zeigen.php?user_uuid=<?=$zeile->usr_uuid;?>"></a>
</figure>
Für so etwas sollte ein neuer Thread aufgemacht werden, anstatt alte wiederzubelebenIch weiss nicht, ob ich nach so langer Zeit noch eine Frage zu Deinem Code stellten darf. Ich versuche es trotzdem ;-)
Ich vermute, Du meinst damit, dass Du den Tooltip auf mehrere Elemente anwenden willst statt nur auf eines? Dazu brauchst Du keine Schleife, es reicht, wenn Du diesen Elementen die Klasse "tooltip" gibst, dann macht das Plugin das automatisch. Siehe das Kapitel "Getting Started".wenn ich auch befürchte, dass ich mein "Grundproblem" bezüglich Schleife dadurch nicht werde lösen können.
Wenn man das weiß, kann man das mit Tooltipster recht einfach erledigen, ohne dass Du in jedem Element das HTML für das große Bild im title-Attribut zusätzlich definieren musst:Der Tooltip soll nun eigentlich dasselbe machen, einfach mit grösseren Bildern, welche den selben Namen haben, aber in einem anderen Verzeichnis liegen...
<img src="thumbs/dia1.jpg" class="tooltipster">
<img src="thumbs/dia2.jpg" class="tooltipster">
<img src="thumbs/dia3.jpg" class="tooltipster">
<script>
$('.tooltipster').tooltipster({
// Tooltipster anweisen, den Inhalt des Tooltipps als HTML zu interpretieren:
contentAsHTML: true,
// Gleich bei der Initialisierung setzen wir den Inhalt für jeden Tooltipp:
functionInit: function (instance, helper) {
// Diese Funktion wird für jedes Element mit der Klasse "tooltipster"
// aufgerufen, d. h. Tooltipster erledigt die Schleife intern.
const
// Die URL des großen Bildes bekommen wir, indem wir in der URL
// des kleinen Bildes das Verzeichnis austauschen:
imgUrl = helper.origin.src.replace('thumbs', 'images');
// Jetzt können wir den Inhalt des Tooltipps als HTML
// mit einem img-Tag festlegen:
$(helper.origin).tooltipster('content', $(`<img src="${imgUrl}">`));
}
});
</script>
<?php
defined('_JEXEC') or die('Restricted access');
?>
<head>
<link rel="stylesheet" type="text/css" href="css/tooltipster.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.0.min.js"></script>
<script type="text/javascript" src="js/jquery.tooltipster.min.js"></script>
</head>
<img src="tmp/10000.jpg" class="tooltipster">
<script>
$('.tooltipster').tooltipster({
// Tooltipster anweisen, den Inhalt des Tooltipps als HTML zu interpretieren:
contentAsHTML: true,
// Gleich bei der Initialisierung setzen wir den Inhalt für jeden Tooltipp:
functionInit: function (instance, helper) {
// Diese Funktion wird für jedes Element mit der Klasse "tooltipster"
// aufgerufen, d. h. Tooltipster erledigt die Schleife intern.
const
// Die URL des großen Bildes bekommen wir, indem wir in der URL
// des kleinen Bildes das Verzeichnis austauschen:
imgUrl = helper.origin.src.replace('tmp', 'img');
// Jetzt können wir den Inhalt des Tooltipps als HTML
// mit einem img-Tag festlegen:
$(helper.origin).tooltipster('content', $(`<img src="${imgUrl}">`));
}
});
</script>
<img src="admidio/adm_program/modules/profile/profile_photo_zeigen.php?user_uuid=<?=$zeile->usr_uuid;?>" class="tooltipster">
<img src="admidio/adm_program/modules/profile/profile_photo_gross_zeigen.php?user_uuid=<?=$zeile->usr_uuid;?>" class="tooltipster">
Das vermute ich auch. Bist Du schon mit den Entwicklerwerkzeugen deines Browsers vertraut? Rechtsklick auf ein Element auf der Seite und dann "(Element) untersuchen". Es öffnet sich ein neues Fenster, darin das Netzwerk-/Network-Tab auswählen. Dort siehst Du dann ob die Dateien erfolgreich geladen wurden (200) oder nicht gefunden (404). Auch das Tab "Console" ist sehr wichtig, dort werden ggf. Fehlermeldungen von Javascript ausgegeben.Ich vermute, dass ich aber bereits an den Vorbereitungs- bzw. Installationsarbeiten von Tooltipster gescheitert bin.
<link rel="stylesheet" href="/css/tooltipster.bundle.css">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="/js/tooltipster.bundle.js"></script>
Ich erwarte da eigentlich keine Probleme, das sind ja einfach nur Strings, die an den Server geschickt werden und es dürfte egal sein ob sich dahinter direkt ein Bild verbirgt oder ein PHP-Skript, das das Bild liefert.Das nächste Problem dürfte dann sein, dass ich mein Bild so abrufen muss:
<?php
defined('_JEXEC') or die('Restricted access');
?>
<head>
<link rel="stylesheet" type="text/css" href="css/tooltipster.bundle.min.css" />
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="js/tooltipster.bundle.min.js"></script>
</head>
<img src="tmp/10000.jpg" class="tooltipster">
<script>
$('.tooltipster').tooltipster({
// Tooltipster anweisen, den Inhalt des Tooltipps als HTML zu interpretieren:
contentAsHTML: true,
// Gleich bei der Initialisierung setzen wir den Inhalt für jeden Tooltipp:
functionInit: function (instance, helper) {
// Diese Funktion wird für jedes Element mit der Klasse "tooltipster"
// aufgerufen, d. h. Tooltipster erledigt die Schleife intern.
const
// Die URL des großen Bildes bekommen wir, indem wir in der URL
// des kleinen Bildes das Verzeichnis austauschen:
imgUrl = helper.origin.src.replace('tmp', 'img');
// Jetzt können wir den Inhalt des Tooltipps als HTML
// mit einem img-Tag festlegen:
$(helper.origin).tooltipster('content', $(`<img src="${imgUrl}">`));
}
});
</script>