jQuery Tools工具提示使用事件特殊悬停

时间:2009-09-21 04:32:25

标签: events jquery-tools hoverintent

有谁知道如何修改jquery工具工具提示: http://flowplayer.org/tools/tooltip.html

使用事件特殊悬停: http://blog.threedubmedia.com/2008/08/eventspecialhover.html

jQuery tools tooltip不依赖于悬停方法,所以加载插件是不够的。

事件悬停的来源: http://threedubmedia.googlecode.com/files/jquery.event.hover-1.0.js 这是jquery工具工具提示的来源: http://flowplayer.org/js/tools/tools.tooltip-1.1.1.js

我一直试图让它工作一段时间。提前谢谢。

1 个答案:

答案 0 :(得分:0)

@Jourkey,我从问题中理解的是,您只想在HOVER报告jquery.event.hover plugin事件时显示工具提示。如果是这种情况,经过大量的反复试验,我得到了这样的结果:

<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript" src="jquery.event.hover-1.0.js"></script>
<script type="text/javascript" src="tools.tooltip-1.1.1.js"></script>
<style type="text/css">
  div.hovering{background-color:yellow;}
  div.normal{background-color:white;}
  #demotip { display:none; background:transparent url(tooltip/white.png); 
  font-size:12px; height:60px; width:160px; padding:25px; color:#0505ff;}
</style>

<div id="rect" style="height:200px;width:200px;border:2px blue groove;" 
    class="normal" title='This is testing tooltip'></div> 
<div id="demotip">&nbsp;</div>
<span id="btnShow" style="border:1px solid black;">click</span>
<span id="btnClose" style="border:1px solid black;">close</span>

JavaScript的:

<script type="text/javascript">
var api; //TO TAKE CARE OF TOOLTIP OBJECT
var hovering=false; //TO TRACK IF HOVERING STARTED BY HOVER PLUGIN OR NOT
    $(document).ready(function(){
    $.tools.tooltip.conf.position=["center","right"];
    $.tools.tooltip.conf.api=true;
    $.tools.tooltip.conf.effect='fade';
    $.tools.tooltip.conf.onBeforeShow = function(a){
                    return hovering;};
        $.tools.tooltip.conf.onBeforeHide = function(a){
                    return !hoveRing;};

        var api = $("#rect[title]").tooltip("#demotip");//CREATE TOOLTIP

    $("#btnShow").click(function(){
            hovering=true;
            api.show();});

    $("#btnClose").click(function(){
            hovering=false;
            api.hide();});

    $.event.special.hover.delay = 500;//REPORT HOVER AFTER DELAY OF 500MS
    $("#rect").hover(function(){},//HOVER START (BEFORE HOVERING)
            function(){
                hovering=true;
                api.show();}, //HOVERING
            function(){
                hovering=false;
                api.hide();}//HOVER END
        );
    });     
</script>