使用jQuery将高度设置为iframe后滚动问题

时间:2015-01-16 09:26:00

标签: jquery html css asp.net iframe

我使用iframe动态设置身高jquery。它运行正常,但问题是如果用户clicks在链接上查看低于DataList的更多数据,则它会将高度完美地设置为iframe,但它会自动滚动到顶部。我希望在Scroll position Click LinkButton时保持LinkButton。我正在使用c#iFrame但这并不重要。整个页面位于iframe内,因此我只根据document高度设置function高度。因此,根据代码调用pageLoad() jquery function adjustHeight() { var iframe = jquery(window.top.document).find("#frameContent"); iframe.height(0 +'px'); var height = jquery(document).height() + 30; iframe.height(height +'px'); } function pageLoad() { adjustHeight(); } 上的c#

我的代码:

DataList

怎么做?一切都在LinkButtonUpdatePaneljquery位于{{1}}内我只是使用{{1}}设置身高。

HTML代码:DataList HTML with View More

2 个答案:

答案 0 :(得分:1)

经过多次尝试,我得到了解决方案。

引起问题只是因为我在设置新高度之前将高度设置为0帧。
简单地说,我删除了下面的线并且它工作正常。 :)

iframe.height(0 +'px');

答案 1 :(得分:0)

据我所知,我假设用户点击的链接是一个锚链接,或一个#链接,对吗?这将导致页面跳到顶部。您可以做的是,在您的点击功能/事件中返回false:

示例:

$("a.someLink").bind("click", function(e){ // Your logic here... // The below prevents the native behavior of the link occurring... e.preventDefault(); e.returnValue = false; return false; })

<强>更新

尝试从按钮(链接)中删除内联javascript函数,而不是使用jQuery实现它,添加返回false等。所以你的按钮代码现在看起来像这样:

<a href="#" class="viewmore" id="lnkbtnViewMore">View More</a>

和jQuery这样:

$("#lnkbtnViewMore").bind("click", function(e){ __doPostBack('lnkbtnViewMore',''); e.preventDefault(); e.returnValue = false; return false; })

应该这样做......