HTML:两个框架的一个滚动条

时间:2011-10-21 20:43:03

标签: html vb6 frames frameset

我遇到两个框架的滚动条时出现问题,如: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>

2 个答案:

答案 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>