【问题标题】:jQuery Tipsy: Simple Overwriting Solution?jQuery Tipsy:简单的覆盖解决方案?
【发布时间】:2012-03-26 22:20:22
【问题描述】:

如何在不丢失测试文本和不克隆的情况下将方向从“n”更改为“w”?

$(".tipsy").live('mouseover',function() {
    $(this).tipsy({gravity: "n", html: true});
    $(this).tipsy("show");
});

$(".tipsy").live("click",function() {
    $('.tipsy').remove();
    $(this).tipsy({gravity: 'w', html: true});
    $(this).tipsy("show");
});

<div class="tipsy" title='<u>test link</u>'>TestTestTestTestTestTestTestTestTestTestTest</div>

这是一个小提琴:http://jsfiddle.net/nQvmw/23/

【问题讨论】:

    标签: jquery click mouseover tipsy


    【解决方案1】:

    正如在tipsy插件主页中看到的,你可以传递一个返回方向的函数作为你的重力选项:

    $(el).tipsy({gravity: function(){return Math.random()>.5 ? 'w' : 'n';}
    

    基于此功能,您可以轻松制作一个函数,为不同的鼠标操作(mouseenter、click...)返回不同的方向:

    var flag = false;
    function gravity(){
        return flag ? 'n' : 'w';
    };
    
    $(".tipsy")
        .live('mouseover',function(){
            flag = true;
            $(this).tipsy("show");
        })
        .live("click",function() {
            flag = false;
            $(this).tipsy("show");
        })
        .tipsy({
            gravity: gravity,
            html: true
        });
    

    这是working demo

    【讨论】:

    • 感谢您的快速响应。它似乎工作正常,只是它在单击后回到鼠标悬停时的 n 重力。点击后如何保持w重力?我也尝试了相同的功能,但对于 html 并没有用。知道如何让它工作吗?这是小提琴:link 我会尽快接受你的回答,并获得赏金。感谢 gion_13 的帮助!
    • @Maverick 这是你想要的 (jsfiddle.net/nQvmw/28) 吗?点击后它始终保持w 重力。
    • 现在重力正在起作用,但是您是否看到最底部的 html 属性。如果将其设置为 false(或将其删除),它将显示 text(显示 u 标签),这应该是单击之前的鼠标悬停行为,html: false。在单击和随后的鼠标悬停时,它实际上应该在文本下划线,因此 html: true。我通过分配一个 html 函数尝试使用标记机制,但它不起作用。
    • 现在我明白你的问题是什么了。您应该使用一个函数来确定实际的醉酒输出。您可以通过在初始化时将函数作为title 选项传递:$(el).tipsy({title:function(){return Math.random()&gt;.5?'a title':'another title'}}) 来实现这一点。通过使用这种机制,您可以根据您的标志动态更新提示的内容。这是一个工作副本:jsfiddle.net/nQvmw/29。我建议您阅读更多有关此插件的内容,因为所有需要的信息都在您的眼皮底下:P
    • jsfiddle.net/nQvmw/30 很抱歉回帖,但您似乎理解这个问题。我今天已经玩了 8 个多小时了,但我仍然很头疼,对你来说可能真的很简单。还有一个名为 hoverlock 的额外选项可以在悬停时保持尖端打开。如果 hoverlock 为 false,tip 不会保持打开状态让您将鼠标悬停在其上,如果 hoverlock 为 true,您可以将鼠标悬停在 tip 上。我创建了一个函数 hvr() ,它正确地返回 true 和 false ,如警报中所示,但该值永远不会在让我发疯的醉酒选项中被覆盖。请帮我弄清楚最后一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多