0

我正在尝试根据当前悬停的状态更改偏移量,并将两个属性(“data-doff”和“data-yoff”)传递给工具提示器插件,以便当您将鼠标悬停在某个状态上时,名称会在状态中心的工具提示中弹出,但它不起作用。我曾使用“alert()”让它告诉我它发现了什么,它可以读取属性,只是没有使用它们,但我不明白我做错了什么。有任何想法吗?

我的 jQuery 脚本:

$( document ).ready(function() {
    $('.showState').hover(function () {

        var xoff = $(this).attr('data-xoff');
        var yoff = $(this).attr('data-yoff');

        $('.tooltip').tooltipster({
            animation: 'grow',
            delay: 0,
            theme: '.ads-theme',
            arrow: false,
            offsetX: xoff,
            offsetY: yoff
        });
        return false;
    });
});

相关 HTML

<area shape="poly" alt="California" title="California" coords="111...363" href="usa_py_expander.asp?lang=<%=mapLanguage%>&regionID=126" class="py_display fancybox-iframe tooltip showState" data-width="260" data-height="350" data-xoff="0" data-yoff="-150">
4

1 回答 1

1

通常,插件需要在 DOM 就绪时进行初始化,而不是在应该触发它们的事件发生时进行初始化。您可能需要执行以下操作:

$( document ).ready(function() {
    $('.showState').each(function () {
        $this = $(this);

        var xoff = $this.attr('data-xoff');
        var yoff = $this.attr('data-yoff');

        $this.tooltipster({
            animation: 'grow',
            delay: 0,
            theme: '.ads-theme',
            arrow: false,
            offsetX: xoff,
            offsetY: yoff
        });
    });
});

也最好使用data('whatever')而不是attr('data-whatever').

于 2013-08-27T19:32:35.743 回答