jQuery弹出菜单垂直滚动有问题

时间:2018-08-01 14:33:35

标签: jquery jquery-ui

我正在使用JQuery创建弹出菜单。这段代码已有几年的历史了,并且运行良好,但是最近我们移到了JQuery UI 1.12.4,它的工作方式似乎有所不同。

用于初始化弹出菜单的JS代码如下:

function initMenu( popupid, triggerId, dialogWidth, myPos, atPos ) {

  $( '#' + popupid ).menu( { 'position': { my: myPos, 
                                           at: atPos, 
                                           of: $('#' + triggerId ), 
                                           collision: 'none' } } );


  $( '#' + popupid + ' div.popupmenu_parent' ).css( 'width', dialogWidth ); 
  $( '#' + popupid + ' div.popupmenu_parent ul' ).css( 'width', dialogWidth ); 
  $( '#' + popupid + ' div.popupmenu_parent ul' ).css( 'text-align', 'left' ); 

  $( '#' + popupid ).css( 'border', '0' ); 
  $( '#' + popupid ).css( 'padding', '0' ); 
  $( '#' + popupid ).css( 'width', '1px' ); 
  $( '#' + popupid ).css( 'height', '1px' );
}

通常使用mypos ='left + 0 top + 0'和atpos ='left + 5 top + 5'调用initMenu函数

关于padding / width / height设置的最后一点是因为弹出菜单最初工作时具有讨厌的“父” div,我们不想要-我们只想要弹出窗口。 (不确定什么是“权利”是为了摆脱它,但这对我们有用)

此菜单用在几页的搜索结果表中,这些结果可能会占用比页面高度更多的内容,因此出现滚动条。结果的每一行都有自己的弹出菜单,用于上下文函数。

在升级之前,一切正常。现在,如果用户完全滚动,则弹出菜单会出现垂直偏移滚动量的情况。如果没有滚动,它将正常工作。用户滚动结果页面越深,菜单显示的越深。

还有其他人遇到过这个问题,他们如何解决?

谢谢。

0 个答案:

没有答案