在 JavaScript 中同步两个滚动条
syncing two scrollbars in javascript
如何在Javascript中同步两个垂直滚动条?
我有两个相同高度的div,我希望能够用一个滚动条滚动它们。
这是我到目前为止所尝试的。
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script language="javascript" type="text/javascript">
function OnScroll(div) {
//if ($.get('div1') != null)
// $.get('div1').scrollTop = div.scrollTop;
var d2 = document.getElementById("div2");
//d2.offsetTop;
var d1 = document.getElementById("div1");
d1.style.top = d2.offsetTop;
// document.getElementById("div1").offsetTop = d2.offsetTop;
}
</script>
Start of panel<br />
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
End of panel<br />
<br />
start of table
<table>
<tr>
<td>
<div id="div1" style="max-width: 300px; max-height: 500px; overflow-x: auto; overflow-y: auto;">
<asp:Table ID="Table1" runat="server">
</asp:Table>
</div>
</td>
<td>
<div id="div2" style="max-width: 300px; max-height: 500px; overflow: auto;" onscroll="OnScroll(this)">
<asp:Table ID="Table2" runat="server">
</asp:Table>
</div>
</td>
</tr>
</table>
end of table
所以基本上每当在div2 中调用 onscroll 事件时,它都会调用 javascript 函数,该函数应该将div1 设置为相同的偏移量。
谢谢!
你不需要使用scrollTop
吗?
function OnScroll(div) {
var d1 = document.getElementById("div1");
d1.scrollTop = div.scrollTop;
}
我认为如果您将scrollTop
设置为高于其最大值的值,则可能会出现问题。
相关文章:
- 将两个ext.TabPanels滚动到一起
- 如何停止两个按钮执行相同的工作?在这种情况下,它们都会滚动到顶部
- 在结束请求上设置多个滚动条位置
- 镜像滚动效果打开.在两个容器之间单击
- 当我打开模式对话框时,可以看到2个滚动条
- 如何隐藏多个图像容器的垂直滚动条
- 用于获得“;两个不同的滚动速度“;在这个网站上?(请参阅内部链接)
- 如何使用jQuery和.on让两个滚动条同时滚动
- 如何同时控制两个滚动条
- 如何从一个类实现多个微小滚动条
- D3 - 在两个不与其他对象相交的对象之间绘制一条线
- 在 JavaScript 中同步两个滚动条
- 使用相同的 css 的两个滚动条
- 多个滚动条显示在第三方应用程序中
- 如何用第一个滚动条跳转到页面的某个点
- Jquery只需在同一页上滚动多个滚动条
- HighChart JavaSCript两个样条在同一图形中更新
- 我可以同步两个iframe的滚动条吗
- 如何同步两个滚动条与Javascript纯
- 同一页上有多个滚动条