我使用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
怎么做?一切都在LinkButton
。 UpdatePanel
和jquery
位于{{1}}内我只是使用{{1}}设置身高。
HTML代码:DataList HTML with View More
答案 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;
})
应该这样做......