我遇到两个框架的滚动条时出现问题,如:Two frames one scrollbar
以下是我的代码:
<FRAMESET ROWS="151,*">
<%if (something) then %>
<FRAME SRC="UserQueue_Header.asp" NAME="UserQueue_Header" SCROLLING="no" NORESIZE />
<FRAME SRC="UserQueue_Detail.asp" NAME="UserQueue_Detail" SCROLLING="yes" />
<%else%>
<FRAME SRC="UserQueue_Header.asp?SortField=<%=SortField%>&SortOrder=<%=SortOrder%>" NAME="UserQueue_Header" SCROLLING="no" NORESIZE />
<FRAME SRC="UserQueue_Detail.asp?SortField=<%=SortField%>&SortOrder=<%=SortOrder%>" NAME="UserQueue_Detail" SCROLLING="yes" />
<%end if%>
</FRAMESET>
答案 0 :(得分:0)
请勿使用框架,或仅为标头使用iframe。并使用position:fixed定位标题;这样你就可以获得与frameset相同的效果,即一个粘性标题。
答案 1 :(得分:0)
这只适用于Firefox。我必须为UserQueue_Header设置scrolling = yes。
<SCRIPT language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></SCRIPT>
<SCRIPT language="javascript" type="text/javascript" src="jquery.frameready.js"></SCRIPT>
$(document).ready(function()
{
// Sync Header Frame with Detail Frame`
$.frameReady( function() {
var ifr2 = $(window.parent.document.getElementsByName('UserQueue_Detail')[0].contentWindow);
$(document).scroll( function(){
ifr2.scrollLeft($(document).scrollLeft());
});
},
"UserQueue_Header"
);
// Sync Detail Frame with Header Frame
$.frameReady( function() {
var ifr1 = $(window.parent.document.getElementsByName('UserQueue_Header')[0].contentWindow);
$(document).scroll( function(){
ifr1.scrollLeft($(document).scrollLeft());
});
},
"UserQueue_Detail"
);
});
这适用于IE和Firefox:
<SCRIPT language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></SCRIPT>
$(window).load( function(){
var ifr1 = $(window.frames[0]);
var ifr2 = $(window.frames[1]);
ifr1.scroll( function(){
ifr2.scrollLeft(ifr1.scrollLeft());
});
ifr2.scroll( function(){
ifr1.scrollLeft(ifr2.scrollLeft());
});
});
<frameset>
<frame src="test.html"/>
<frame src="test.html"/>
</frameset>