从主体分离时,jQuery对象scrollTop(值)
jQuery object scrollTop(value) when detached from body?
我正在jQuery中进行DOM操作,将主体包裹在一些div元素中,所以我试图在转换后将滚动位置从窗口匹配到div元素,但不知何故,它不起作用。
我在做什么:
scrollPosition = $(window).scrollTop();
myBody = $("body").detach();
myBody.wrapInner("<div class='someclass'><div class='osm-website'></div></div>");
myWebsite = myBody.find('.osm-website');
myWebsite.scrollTop(scrollPosition);
并且myWebsite scrollTop位置仍然是0
但如果我这样做:
myBody.appendTo('html');
$('.osm-website').scrollTop(scrollPosition);
它是有效的。
我必须找到一种方法,在将其附加到dom之前滚动它,因为在Mac上的Safari中,这种附加到页面之后的滚动会导致短暂的"闪光"。我需要它看起来毫无表情。
非常感谢您的任何帮助
如果你真的要将内容直接附加到html中,你可以简单地使用:
// Source: How to get height of entire document with JavaScript?
// http://stackoverflow.com/a/1147768/887539
var body = document.body;
var html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );
$(window).scrollTop(height);
如果没有,你可以带上你即将成为父母的孩子,找到最后一个元素的位置,并添加元素的高度:
var $parent = $('....');
var $lastChild = $parent.children().last();
var offset = $lastChild.offset();
var scrollPos = offset.top + lastChild.outerHeight(true);
$(window).scrollTop(scrollPos);
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 从主体分离时,jQuery对象scrollTop(值)
- & # 39; ScrollTop& # 39;为空或不是对象
- ScrollTop 无法在对象上工作