[英]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.