在IE9中看不到滚动页面上的jQuery对话框链接

时间:2011-12-01 05:24:21

标签: jquery-ui dialog positioning

我有很长的链接列表,它们会显示不同的jQuery对话框。当我向下滚动到页面底部附近并单击一个链接时,它会成功打开我的jQuery对话框,但对话框不可见,因为页面已滚动到网页顶部 - 对话框显示在页面下方并且用户必须向下滚动才能看到对话框。

我想要的是对话框弹出并且无论链接在页面下多远都可见。

这是我的简单对话框jQuery代码:

$(function () {
    $('#dlg').dialog({
        autoOpen: false,
        height: 460,
        width: 680,
        modal: true,
        position: 'center'
    });

    $('.vidlink').click(function(e) {
        $('#dlg').dialog('open');
    });

});

您可以在此页面上看到它是如何发生的: http://www.ourlaughingplace.com/asp/park.aspx?step=3&locID=WDW&parkID=MGM&DLRparkID=MGM#

向下滚动到“Movie Clips”并使用IE9点击“Fantasmic Finale”,如果你向下滚动,你会看到对话框按照应该的方式打开 - 它刚出现在折叠下方。

我已尝试将对话框位置设置为“中心”和“顶部”,但仍有相同的问题。

1 个答案:

答案 0 :(得分:1)

链接的#的值href对应于文档的顶部。使用当前代码,单击链接可以按预期工作:页面将滚动回到顶部。

阻止打开对话框的<a>标记的默认行为:

$('.vidlink').click(function(e) {

    e.preventDefault();

    $('#dlg').dialog('open');

});

或者将这些标签的href值更改为:

<a href="javascript:void(0)"></a>