ejemplos custom javascript jquery html css

javascript - custom - tooltip jquery ui ejemplos



jQuery Popup Bubble/Tooltip (13)

Intento crear una "burbuja" que pueda aparecer cuando se onmouseover evento onmouseover y permanecerá abierta mientras el mouse esté sobre el elemento que arrojó el evento onmouseover O si el mouse se mueve a la burbuja. Mi burbuja tendrá que tener todas las formas de HTML y estilo, incluidos hipervínculos, imágenes, etc.

Básicamente lo he logrado escribiendo alrededor de 200 líneas de JavaScript feo, pero realmente me gustaría encontrar un plugin jQuery o alguna otra forma de limpiar esto un poco.


Intento crear una "burbuja" que pueda aparecer cuando se active el evento onmouseover y permanecerá abierta mientras el mouse esté sobre el elemento que arrojó el evento onmouseover O si el mouse se mueve a la burbuja. Mi burbuja necesitará tener todas las formas de html y estilo, incluidos hipervínculos, imágenes, etc.

Todos esos eventos totalmente administrados por este complemento ...

http://plugins.jquery.com/project/jqBubblePopup


¡He programado un jQuery Plugin útil para crear ventanas emergentes de burbujas fácilmente inteligentes con solo una línea de código en jQuery!

Lo que puede hacer: - adjuntar ventanas emergentes a cualquier elemento DOM. - eventos mouseover / mouseout administrados automáticamente! - establecer eventos popups personalizados! - crear ventanas emergentes sombreadas inteligentes! (¡en IE también!) - ¡elige plantillas de estilo popup en tiempo de ejecución! - inserta mensajes HTML dentro de ventanas emergentes! - establecer muchas opciones como: distancias, velocidad, retrasos, colores ...

Las sombras y las plantillas coloreadas de Popup son totalmente compatibles con Internet Explorer 6+, Firefox, Opera 9+, Safari

Puede descargar fuentes desde http://plugins.jquery.com/project/jqBubblePopup


Aunque qTip (la respuesta aceptada) es bueno, comencé a usarlo, y carecía de algunas características que necesitaba.

Luego tropecé con PoshyTip , es muy flexible y muy fácil de usar. (Y podría hacer lo que necesitaba)


Autoresize simple Popup Bubble

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="bubble.css" type="text/css" rel="stylesheet" /> <script language="javascript" type="text/javascript" src="jquery.js"></script> <script language="javascript" type="text/javascript" src="bubble.js"></script> </head> <body> <br/><br/> <div class="bubbleInfo"> <div class="bubble" title="Text 1">Set cursor</div> </div> <br/><br/><br/><br/> <div class="bubbleInfo"> <div class="bubble" title="Text 2">Set cursor</div> </div> </body> </html>

bubble.js

$(function () { var i = 0; var z=1; do{ title = $(''.bubble:eq(''+i+'')'').attr(''title''); if(!title){ z=0; } else { $(''.bubble:eq(''+i+'')'').after(''<table style="opacity: 0; top: -50px; left: -33px; display: none;" id="dpop" class="popup"><tbody><tr><td id="topleft" class="corner"></td><td class="top"></td><td id="topright" class="corner"></td></tr><tr><td class="left"></td><td>''+title+''</td><td class="right"></td></tr><tr><td class="corner" id="bottomleft"></td><td class="bottom"><img src="bubble/bubble-tail.png" height="25px" width="30px" /></td><td id="bottomright" class="corner"></td></tr></tbody></table>''); $(''.bubble:eq(''+i+'')'').removeAttr(''title''); } i++; }while(z>0) $(''.bubbleInfo'').each(function () { var distance = 10; var time = 250; var hideDelay = 500; var hideDelayTimer = null; var beingShown = false; var shown = false; var trigger = $(''.bubble'', this); var info = $(''.popup'', this).css(''opacity'', 0); $([trigger.get(0), info.get(0)]).mouseover(function () { if (hideDelayTimer) clearTimeout(hideDelayTimer); if (beingShown || shown) { // don''t trigger the animation again return; } else { // reset position of info box beingShown = true; info.css({ top: -40, left: 10, display: ''block'' }).animate({ top: ''-='' + distance + ''px'', opacity: 1 }, time, ''swing'', function() { beingShown = false; shown = true; }); } return false; }).mouseout(function () { if (hideDelayTimer) clearTimeout(hideDelayTimer); hideDelayTimer = setTimeout(function () { hideDelayTimer = null; info.animate({ top: ''-='' + distance + ''px'', opacity: 0 }, time, ''swing'', function () { shown = false; info.css(''display'', ''none''); }); }, hideDelay); return false; }); }); });

bubble.css

/* Booble */ .bubbleInfo { position: relative; width: 500px; } .bubble { } .popup { position: absolute; display: none; z-index: 50; border-collapse: collapse; font-size: .8em; } .popup td.corner { height: 13px; width: 15px; } .popup td#topleft { background-image: url(bubble/bubble-1.png); } .popup td.top { background-image: url(bubble/bubble-2.png); } .popup td#topright { background-image: url(bubble/bubble-3.png); } .popup td.left { background-image: url(bubble/bubble-4.png); } .popup td.right { background-image: url(bubble/bubble-5.png); } .popup td#bottomleft { background-image: url(bubble/bubble-6.png); } .popup td.bottom { background-image: url(bubble/bubble-7.png); text-align: center; } .popup td.bottom img { display: block; margin: 0 auto; } .popup td#bottomright { background-image: url(bubble/bubble-8.png); }


Esto también se puede hacer fácilmente con el evento mouseover. Lo he hecho y no toma 200 líneas en absoluto. Comience con activar el evento, luego use una función que creará la información sobre herramientas.

$(''span.clickme'').mouseover(function(event) { createTooltip(event); }).mouseout(function(){ // create a hidefunction on the callback if you want //hideTooltip(); }); function createTooltip(event){ $(''<div class="tooltip">test</div>'').appendTo(''body''); positionTooltip(event); };

A continuación, crea una función que coloca la información sobre herramientas con la posición de desplazamiento del elemento DOM que activó el evento mouseover, esto es factible con css.

function positionTooltip(event){ var tPosX = event.pageX - 10; var tPosY = event.pageY - 100; $(''div.tooltip'').css({''position'': ''absolute'', ''top'': tPosY, ''left'': tPosX}); };


La nueva versión 3.0 del complemento jQuery Bubble Popup es compatible con jQuery v.1.7.2, actualmente la versión más reciente y estable de la biblioteca javascript más famosa.

La característica más interesante de la versión 3.0 es que puede usar el complemento jQuery & Bubble Popup junto con otras bibliotecas y marcos de JavaScript como Script.aculo.us, Mootols o Prototype porque el complemento está completamente encapsulado para evitar problemas de incompatibilidad;

jQuery Bubble Popup fue probado y es compatible con muchos navegadores conocidos y "desconocidos"; ver la documentación para la lista completa.

Al igual que las versiones anteriores, el complemento jQuery Bubble Popup continúa publicándose bajo la licencia MIT; Puede utilizar jQuery Bubble Popup en proyectos comerciales o personales, siempre que el encabezado de derechos de autor quede intacto.

descargue la última versión o visite demos en vivo y tutoriales en http://www.maxvergelli.com/jquery-bubble-popup/


Me parece que no quieres el mouse sobre los eventos: quieres el evento jQuery hover ().

Y lo que parece querer es una información sobre herramientas "enriquecedora", en cuyo caso sugiero jQuery tooltip . Con la opción bodyHandler puedes poner HTML arbitrario.


Ok, después de un poco de trabajo, puedo obtener una "burbuja" para que aparezca y desaparezca en el momento adecuado. Hay MUCHO estilo que todavía debe suceder, pero este es básicamente el código que utilicé.

<script type="text/javascript"> //--indicates the mouse is currently over a div var onDiv = false; //--indicates the mouse is currently over a link var onLink = false; //--indicates that the bubble currently exists var bubbleExists = false; //--this is the ID of the timeout that will close the window if the user mouseouts the link var timeoutID; function addBubbleMouseovers(mouseoverClass) { $("."+mouseoverClass).mouseover(function(event) { if (onDiv || onLink) { return false; } onLink = true; showBubble.call(this, event); }); $("." + mouseoverClass).mouseout(function() { onLink = false; timeoutID = setTimeout(hideBubble, 150); }); } function hideBubble() { clearTimeout(timeoutID); //--if the mouse isn''t on the div then hide the bubble if (bubbleExists && !onDiv) { $("#bubbleID").remove(); bubbleExists = false; } } function showBubble(event) { if (bubbleExists) { hideBubble(); } var tPosX = event.pageX + 15; var tPosY = event.pageY - 60; $(''<div ID="bubbleID" style="top:'' + tPosY + ''; left:'' + tPosX + ''; position: absolute; display: inline; border: 2px; width: 200px; height: 150px; background-color: Red;">TESTING!!!!!!!!!!!!</div>'').mouseover(keepBubbleOpen).mouseout(letBubbleClose).appendTo(''body''); bubbleExists = true; } function keepBubbleOpen() { onDiv = true; } function letBubbleClose() { onDiv = false; hideBubble(); } //--TESTING!!!!! $("document").ready(function() { addBubbleMouseovers("temp1"); }); </script>

Aquí hay un fragmento del html que lo acompaña:

<a href="" class="temp1">Mouseover this for a terribly ugly red bubble!</a>


Puede usar qTip para esto; Sin embargo, tendrías que codificar un poco para iniciarlo en el evento mouseover; Y en caso de que desee una marca de agua predeterminada en sus campos de texto, deberá usar el complemento de marca de agua ...

Me di cuenta de que esto lleva a un montón de código repetitivo; Así que escribí un complemento en la parte superior de qTip que hace que sea muy fácil adjuntar elementos emergentes informativos a los campos de formulario. Puede verificarlo aquí: https://bitbucket.org/gautamtandon/jquery.attachinfo

Espero que esto ayude.



Tiptip es también una buena biblioteca.



ColorTip es el más hermoso que he visto en mi vida