2010-06-01 79 views
29

Hãy đánh giá cao nếu ai đó có thể chỉ cho tôi một ví dụ đơn giản về cách thiết lập và sử dụng plugin qTip jquery cho chú giải công cụ hiển thị ở phía dưới bên trái của nơi tôi di chuột qua một hình ảnh.Làm thế nào để sử dụng jQuery qTip - Ví dụ đơn giản xin vui lòng

Tôi đã thử làm theo các bản demo/ví dụ từ trang web:>qTip nhưng dường như không thể làm cho nó hoạt động.

Tôi không chắc chắn liệu tôi có cần phải bao gồm Cấu trúc HTML trong tài liệu hay không và nếu có, tôi nên đặt nó ở đâu?

Plugin này cũng yêu cầu tệp CSS thuộc loại nào đó?

Dù sao, sẽ thực sự đánh giá cao nếu ai đó có thể giải thích/thiết lập ví dụ về việc sử dụng qtip. Cũng sẽ đánh giá cao nếu tôi không được chuyển hướng trở lại trang demo qTip.

Cảm ơn.

+10

Tôi vừa mới đến trang này sau khi cố gắng làm cho plugin này hoạt động và tôi sẽ là người đầu tiên nói rằng tài liệu không được viết tốt như bạn nghĩ. nếu không sẽ không cần phải viết câu hỏi này. –

+7

Hoàn toàn đồng ý với EnderMB. Điều hiển nhiên đối với người ta không nhất thiết phải là tất cả. Tài liệu tại trang web qtip không rõ ràng với tôi. Không có ví dụ đơn giản với mã hoàn chỉnh có thể truy cập dễ dàng. – tucson

+0

Nếu bạn cố gắng làm theo mẫu góc tròn này, nó không thể làm cho nó hoạt động: http://craigsworks.com/projects/qtip2/tutorials/styling/#corners –

Trả lời

2

Trong ASP.NET, tôi đã bao gồm jQuery-1.4.2.min.js và jquery.qtip-1.0.js.

Không có CSS, nó chỉ hoạt động.

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

Tôi tin rằng sự cố bắt nguồn từ sự không tương thích giữa các phiên bản qTip mới và jQuery.

Tôi đã dùng mã kiểm tra giờ cuối cùng với qTip để thử và tìm hiểu lý do mã của tôi từ chối hoạt động và sau khi xem qua forums để xem tôi có thể tìm thấy vấn đề tương tự hay không thread hoạt động hoàn hảo, nhưng nếu nó được hoán đổi với một phiên bản mới hơn của jQuery nó sẽ tạo ra một lỗi.

<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> 

Tôi đã tải xuống jQuery 1.3.2 from the Google Code website và ví dụ này hiện hoạt động hoàn hảo cho tôi. Tôi sẽ sớm bắt đầu điều chỉnh mã này theo nhu cầu của tôi để xem liệu có bất kỳ vấn đề nào khác hay không nhưng đối với bất kỳ ai vẫn gặp vấn đề này, tôi hy vọng bài đăng này hữu ích.


EDIT: Dường như đó là một vấn đề phiên bản không tương thích. Mã đơn giản này từ trang web tài liệu hoạt động hoàn hảo ngay bây giờ với các phiên bản tương tự. Hy vọng điều này là hữu ích cho bạn!

<!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: Có một phiên bản mới của qTip trong các công trình nên nó có thể là đáng chờ đợi cho điều đó, tuy nhiên nếu bạn muốn sử dụng qTip với phiên bản mới nhất của jQuery thì bạn có thể tải về một trong số nightly builds cho qTip. Sử dụng ví dụ trên, tôi đổi cả hai kịch bản cho jQuery mới nhất (1.4.2) với bản dựng hàng đêm mới nhất và có vẻ như nó hoạt động.

+3

Xin chào EnderMB - thực sự đánh giá cao việc bạn cung cấp ví dụ chi tiết của mình. Sẽ kiểm tra xem nó ra. Thành thật mà nói, tôi không bao giờ kết thúc bằng cách sử dụng nó như tôi không thể làm cho nó đi. Chắc chắn sẽ xem xét ví dụ của bạn. Cảm ơn. – tonyf

+0

@tonsils Không sao cả. Tôi đã trải qua cùng một điều như bạn đang cố gắng để có được qTip để làm việc trên ứng dụng của tôi và may mắn tôi tìm thấy bài viết của bạn khi tìm kiếm thêm ý tưởng. Nếu các diễn đàn là bất cứ điều gì để đi bằng cách này nên sửa chữa bất kỳ vấn đề bạn có với các ví dụ trong toàn bộ. Hi vọng bạn tìm được thứ hữu dụng! –

+2

Điều này rất hữu ích. Cảm ơn bạn. Sẽ chấp nhận câu trả lời của bạn nếu tôi có thể. @tonsils Tôi đề nghị bạn chấp nhận câu trả lời, nếu nó phù hợp với bạn. – tucson

2

Bạn cũng có thể làm theo hướng dẫn tại diễn đàn qTip tại đây: http://craigsworks.com/projects/forums/thread-solved-qtip-1-0-0rc3-does-not-work-with-latest-jquery-release. Bằng cách sửa đổi một dòng mã trong plugin qTip (mặc dù rất khó để tìm mã trong phiên bản 'min'), bạn sẽ khôi phục khả năng tương thích với jQuery.

Về cơ bản, thay đổi:

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

Để:

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

Điều đó sẽ làm các trick; đã làm cho tôi.

+0

cảm ơn, nó đã giúp! – Andy

7

Tôi nghĩ rằng tôi biết bạn đang làm gì sau khi chỉ cho thấy cách đính kèm qTip vào html, có những ví dụ không tuyệt vời.

Ví dụ dưới đây sẽ hiển thị qTip khỏi hình ảnh và hiển thị đầu nhọn ở giữa và bên phải của hình ảnh, với hai tông màu xanh lá cây đẹp.

<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> 

Mở điều cần lưu ý với điều này là tôi đang sử dụng jquery 1.4.2, điều này không làm việc với tải điển hình của phiên bản nén của qTip bạn cần phải sử dụng xây dựng số 25

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

+0

cảm ơn bạn, điều này là hoàn hảo, tôi đã đấu tranh với các ví dụ mặc định là tốt – Acidon

2

Cấu trúc HTML được đề cập trên trang web qTip chỉ là một ví dụ về html được tạo khi sử dụng plugin. Nó không phải là một phần của mã cần được thêm vào trang để nó hoạt động.

Các vấn đề liên quan