Jquery 以编程方式设置相对于页面顶部的模式位置
我有一个模态,我用它作为菜单下拉菜单。 为了使这项工作,我手动设置高度模式弹出的权利下方的菜单。 为此,我添加了确定数量的像素,并将css属性top附加到具有固定数量像素的模式。 我的问题是,它是从用户所在页面的顶部设置数字,而不是从页面的顶部设置数字。 这是一个AngularJS模式,但我使用jquery设置css属性,如果有一个带有jquery的css解决方案,它应该是一个适用的解决方案 下面是我如何设置从顶部开始的像素数:Jquery 以编程方式设置相对于页面顶部的模式位置,jquery,css,angularjs,modal-dialog,position,Jquery,Css,Angularjs,Modal Dialog,Position,我有一个模态,我用它作为菜单下拉菜单。 为了使这项工作,我手动设置高度模式弹出的权利下方的菜单。 为此,我添加了确定数量的像素,并将css属性top附加到具有固定数量像素的模式。 我的问题是,它是从用户所在页面的顶部设置数字,而不是从页面的顶部设置数字。 这是一个AngularJS模式,但我使用jquery设置css属性,如果有一个带有jquery的css解决方案,它应该是一个适用的解决方案 下面是我如何设置从顶部开始的像素数: var el = angular.
var el = angular.element(element);
var thumbnail = el["0"];
var finalThumbnailContainer = thumbnail.parentElement;
var inte = 0;
while(inte != 3){
finalThumbnailContainer = finalThumbnailContainer.parentElement;
inte++;
}
var innerEl = angular.element(finalThumbnailContainer);
var top = ModalServices.getHorizontalMenuHeight();
//110
innerEl.css('top', top);
我对layout/css不是特别在行,也不知道如何使用该模式从页面开始显示X像素,而不是用户当前在页面上的位置
我将非常感谢您的帮助
谢谢
以下是modal的html图像:
第一个图像是当滚动条位于页面顶部时出现的模式图像,第二个图像是当滚动条稍微向下移动页面时出现的模式图像
当滚动条位于顶部时,我从与顶部的静态距离中减去$window.scrollTop,找到了一个解决方案
var el = angular.element(element);
var thumbnail = el["0"];
var finalThumbnailContainer = thumbnail.parentElement;
var inte = 0;
while(inte != 3){
finalThumbnailContainer = finalThumbnailContainer.parentElement;
inte++;
}
var innerEl = angular.element(finalThumbnailContainer);
var top = ModalServices.getHorizontalMenuHeight();
var scrollTop = $(window).scrollTop();
top = top - scrollTop;
innerEl.css('top', top);
现在,无论滚动条设置在何处,模式都会下降到菜单正下方的正确位置……瞧