我不认为我的变量被传递给jQuery

时间:2013-08-27 19:27:18

标签: jquery variables tooltipster

我正在尝试根据当前正在悬停的状态更改偏移量,并将两个属性(“data-doff”和“data-yoff”)传递给tooltipster插件,以便当您将鼠标悬停在a时状态,名称弹出在州中心的工具提示中,但它不起作用。 我曾经用“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">

1 个答案:

答案 0 :(得分: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')