jquery对话框打开时窗口向上滚动

前端之家收集整理的这篇文章主要介绍了jquery对话框打开时窗口向上滚动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用jquery 1.4和jquery-ui-1.8rc3.custom.js打开一个模态的jquery对话框

在所有浏览器中,对话框没有出现问题,但在IE 7和6中,对话框打开后,窗口自动滚动到buttom …我尝试将窗口滚动回到模态位置,但是非常不一致。
在打开模态后,正在使用以下代码

window.scrollTo($('#selector').dialog('option','position')[0],$('#selector').dialog('option','position')[1]);

我注意到的一件奇怪的事情是,在我打开模态之后,页面变得巨大,好像一些额外的东西加在底部….并且最终滚动到底部
任何想法为什么这可能是hapenning

在html

<div id="selector">
</div>

在document.ready

$('#selector').dialog({
  bgiframe: true,autoOpen: false,width: 100,height: 100,modal: true,position: 'top'
});

在js

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

解决方法

看起来你在选择器中缺少#
window.scrollTo($('#selector').dialog('option','position')[1]);

这可能是窗口滚动到左上角的原因。

编辑:我只是看文档和.dialog(‘选项’,’位置’)默认值是中心。

position Type: String,Array Default: ‘center’

Specifies where the dialog should be
displayed. Possible values: 1) a
single string representing position
within viewport: ‘center’,‘left’,
‘right’,‘top’,‘bottom’. 2) an array
containing an x,y coordinate pair in
pixel offset from left,top corner of
viewport (e.g. [350,100]) 3) an array
containing x,y position string values
(e.g. [‘right’,’top’] for top right
corner).

所以你可以使用position选项返回文本或数字,而window.scrollTo()需要数字。所以试试这个:

var d = $(".ui-dialog").position();
window.scrollTo( d.left,d.top);
原文链接:https://www.f2er.com/jquery/182751.html

猜你在找的jQuery相关文章