[英]Change the scroll of an hidden div
我有一个固定高度的隐藏div和一个滚动条。 我想改变滚动位置,但浏览器不会让我这样做,因为div是隐藏的。 scrollTop属性将保持为0。
此外,我不想显示和隐藏div返回,这会导致闪烁。
如果有人知道该怎么做,那将非常有帮助。
谢谢!
您可以使用jQuery的数据功能保存滚动。
function SaveScroll(val)
{
$(the_element).data("Scroll", val);
}
function Show()
{
var element = $(the_element);
// prevent from showing while scrolling
element.css
({
position: "absolute",
top: "-50000px",
left: "-50000px",
display: ""
});
// Scroll to the position set when it was hidden
element.scrollTop(element.data("Scroll"));
// show the element
element.css
({
position: "",
top: "",
left: ""
});
}
这可能会成功
您可以使用visibility: hidden
而不是display: none
。 可见性使元素保持原样。 我相信它与opacity: 0
完全相同opacity: 0
,但它是一个跨浏览器的解决方案。
为防止div闪烁并修复脚本的<div>
不可用,您可以使用位置隐藏而不是"display: none;"
:
.hidden {
position: absolute !important;
left: -9999px !important;
top: -9999px !important;
}
我的问题不完整。 div不是自己隐藏的。 它是隐藏的容器div的一部分。 内部div与他的父母一起显示。
<div class="container hidden">
<div id="some_div">Content</div>
<div id="my_div">I wanted to scroll this one</div>
<div id="other_div">Content</div>
</div>
我们使用jQuery想出了一个自定义的“onShow”事件。
所以现在我们可以这样做:
$('#my_div').bind('show', function() {
handle_scrollTopOffset();
});
当绑定show事件时,它会将类.onShow
添加到div。 并且重写了jQuery.fn.show()
函数以触发具有.onShow
类的子.onShow
上的“show”事件。
谢谢大家的建议。 对不起,我提供了一个不完整的问题。 我下次会给出所有细节。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.