2010-06-01 31 views
29

Agradecería que alguien me pudiera mostrar un ejemplo simple de cómo configurar y usar el complemento qTip jquery para que se muestre una información sobre herramientas en la esquina inferior izquierda de donde se pasa el mouse sobre una imagen.Cómo usar jQuery qTip - Ejemplo simple por favor

He intentado seguir las demos/ejemplos del sitio:>qTip pero parece que no funciona.

No estoy seguro si necesito incluir la estructura HTML en la documentación y, de ser así, ¿dónde la coloco?

¿Este complemento también requiere un archivo CSS de algún tipo?

De todos modos, realmente apreciaría si alguien pudiera explicar/configurar un ejemplo de uso de qtip. También agradecería que no me redirijan a la página de demostración de qTip.

Gracias.

+10

Acabo de llegar a esta página después de intentar que este complemento funcione y seré el primero en decir que la documentación no está tan bien escrita como parece pensar. de lo contrario, no habría necesidad de escribir esta pregunta. –

+7

Totalmente de acuerdo con EnderMB. Lo que es obvio para uno no es necesariamente para todos. La documentación en el sitio de qtip no está clara para mí. No hay un ejemplo simple con un código completo de fácil acceso. – tucson

+0

Si intenta seguir esta muestra de esquinas redondeadas, es imposible hacer que funcione: http://craigsworks.com/projects/qtip2/tutorials/styling/#corners –

Respuesta

2

En ASP.NET incluí jQuery-1.4.2.min.js y jquery.qtip-1.0.js.

Sin CSS, debería funcionar.

$(document).ready(function() { 
    $("#<%= txtUsername.ClientID %>").qtip({ 
     content: 'Your registered username', 
     style: 
    { 
     name: 'blue', 
     tip: 'leftMiddle' 
    }, 
     position: 
    { 
     corner: 
     { 
      target: 'rightMiddle', 
      tooltip: 'leftMiddle' 
     } 
    } 
    }); 
} 
18

Creo que el problema surge de la incompatibilidad entre las nuevas versiones de qTip y jQuery.

He pasado el último código de prueba de hora con qTip para tratar de averiguar por qué mi código se negó a funcionar y después de mirar el forums para ver si podía encontrar problemas similares me di cuenta de que el siguiente código thread funciona a la perfección, pero si se intercambia con una versión más nueva de jQuery produce un error.

<html> 
<head> 
     <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
     <script type="text/javascript" src="jquery.qtip-1.0.0-rc3.min.js"></script> 


     <script type="text/javascript"> 
     $(document).ready(function() { 
      $.fn.qtip.styles.tooltipDefault = { 
       background : '#132531', 
       color  : '#FFFFFF', 
       textAlign : 'left', 
       border  : { 
        width : 2, 
        radius : 4, 
        color : '#C1CFDD' 
       }, 
       width  : 220 
      } 

      // we are going to run through each element with the classRating class 
      $('.classRating').each(function() { 
       var rating = $(this).attr('rating'); 

       // the element has no rating tag or the rating tag is empty 
       if (rating == undefined || rating == '') { 
        rating = 'I have not yet been rated.'; 
       } 
       else { 
        rating = 'The rating for this is ' + rating + '%'; 
       } 

       // create the tooltip for the current element 
       $(this).qtip({ 
        content  : rating, 
        position : { 
         target : 'mouse' 
        }, 
        style  : 'tooltipDefault' 
       }); 
      }); 
     }); 

     </script> 
</head> 
<body> 
    <div id="SomeID1" class="classRating" rating="73">I have a rating</div> 
    <div id="SomeID2" class="classRating" rating="66">I have a rating</div> 
    <div id="SomeID3" class="classRating" rating="">I have a rating but it is empty</div> 
    <div id="SomeID4" class="classRating">I dont have a rating</div> 
</body> 
</html> 

He descargado jQuery 1.3.2 from the Google Code website y este ejemplo ahora funciona perfectamente para mí. Pronto comenzaré a adaptar este código a mis necesidades para ver si hay algún otro problema, pero para cualquiera que todavía tenga este problema, espero que esta publicación sea útil.


EDIT: Parece que se trata de un problema de incompatibilidad de versiones. Este código simple del sitio web de documentación funciona perfectamente ahora con estas mismas versiones. ¡Espero que esto te ayude!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 

    </head> 
    <body> 
     <a href="#" title="Hello World" class="example">Test</a> 
     <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
     <script type="text/javascript" src="jquery.qtip-1.0.0-rc3.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       // By suppling no content attribute, the library uses each elements title attribute by default 
       $('a[href][title]').qtip({ 
        content: { 
         text: false // Use each elements title attribute 
        }, 
        style: 'cream' // Give it some style 
       }); 

       // NOTE: You can even omit all options and simply replace the regular title tooltips like so: 
       // $('#content a[href]').qtip(); 
      }); 
     </script> 
    </body> 
</html> 

EDIT 2: Hay una nueva versión de QTIP en las obras por lo que puede valer la pena la espera de que, sin embargo, si desea utilizar QTIP con la última versión de jQuery entonces usted puede descargar uno de el nightly builds para qTip. Utilizando el ejemplo anterior intercambié ambas secuencias de comandos para la última jQuery (1.4.2) con la última versión nocturna y parece que funciona.

+3

Hola EnderMB: realmente le agradezco que brinde su ejemplo detallado. Lo verificará. Para ser sincero, nunca terminé usándolo porque no pude hacerlo funcionar. Definitivamente miraremos tu ejemplo. Gracias. – tonyf

+0

@tonsils No hay problema. Estaba pasando por lo mismo que cuando trataste que qTip trabajara en mi aplicación y afortunadamente encontré tu publicación cuando buscaba más ideas. Si los foros son cualquier cosa, esto debería solucionar cualquier problema que tenga con los ejemplos en su totalidad. ¡Esperamos que te sea útil! –

+2

Esto fue muy útil. Gracias. Aceptaría tu respuesta si pudiera. @tonsils Te sugiero que aceptes la respuesta, si funciona para ti. – tucson

2

También puede seguir las instrucciones en los foros de qTip aquí: http://craigsworks.com/projects/forums/thread-solved-qtip-1-0-0rc3-does-not-work-with-latest-jquery-release. Al modificar una línea de código en el complemento qTip (aunque es difícil encontrar el código en la versión "mínima"), se restablecerá la compatibilidad con jQuery.

Básicamente, el cambio:

if(typeof $(this).data('qtip') == 'object') 

Para:

if(typeof $(this).data('qtip') === 'object' && $(this).data('qtip')) 

Que debe hacer el truco; trabajó para mi.

+0

gracias, ¡ayudo! – Andy

7

Correcto, creo que sé lo que buscas después de algo que solo muestra cómo adjuntar el qTip al html, los ejemplos no son geniales.

El siguiente ejemplo mostrará la sugerencia q de una imagen y muestra la punta centrada y a la derecha de la imagen, en un bonito tono verde de dos tonos.

<html> 
<head> 
<script src="/js/jquery-compressed-1.4.2.js" type="text/javascript"></script> 
<script src="/js/jquery.qtip-1.0.min.js" type="text/javascript"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
        // Create the tooltips only on document load 
        $(document).ready(function() { 
        // Match all link elements with href attributes within the content div 
        $('#claimform a[rel=tip]').qtip({ 
          content: { text: true 
          }, 
          style: { 
           width: 250, 
           tip: 'leftMiddle', 
           color: 'white', 
           background:'#66CC33', 
           name: 'green' 
          }, 
          position: { 
           corner: { target: 'rightMiddle', 
              tooltip: 'leftMiddle' 
             }, 
           adjust: { x: 20, y: 0 } 

          } 
         }); 
        }); 
      </script> 
<div id="claimform"> 
<a href="#" rel="tip" title="Your customer ID as shown on the top right hand side of your papaer bill that you should have received through the post"><img src="/images/css/tip.gif" alt="tip" class="tip" /></a> 
</div> 
</body> 
</html> 

En cosa a destacar con esto es que estoy usando jQuery 1.4.2, esto no funciona con la descarga típica de la versión comprimida del QTIP es necesario utilizar número de compilación 25

http://bazaar.launchpad.net/~craig.craigsworks/qtip/1.0/files/25

+0

gracias, esto es perfecto, también estaba luchando con ejemplos predeterminados – Acidon

2

La estructura HTML a la que se hace referencia en el sitio de qTip es solo un ejemplo del html que se crea al usar el complemento. No es parte del código que debe agregarse a la página para que funcione.

Cuestiones relacionadas