2011-07-07 96 views
3

如何同步滾動兩個列表框,以便滾動一個列表框導致滾動另一個列表框。javascript來同步兩個列表框的滾動?

+0

你嘗試過這麼遠嗎?我已經成功地使用'onscroll'事件來同步'div'和'iframe'元素,儘管我有一個模糊的內存(不幸的是)'select'元素不支持'onscroll'(或者它只是某些瀏覽器不支持它),所以這可能無濟於事 - 我可以讓你做一些更多的研究嗎?我假設你說的「列表框」是指選擇元素。 – nnnnnn

回答

3

這裏有一些指導原則:

  • 使用scroll事件的兩個ListBox $(".listbox").bind("scroll", ...)
  • 它裏面,拿到滾動與scrollTop CSS
  • 使用此座標值來改變其他ListBox的scrollTop

這種方式將滾動到一起。

希望這會有所幫助。乾杯

+0

:**感謝您的_guidelines_幫助... – user

0

假設你的意思形式選擇對象

有幾個問題,這讓我覺得不是所有的瀏覽器會做你想要什麼。

這是最簡單的純JS內聯事件處理程序

<select id="sel1" name="sel1" onchange="this.form.sel2.selectedIndex=this.selectedIndex"> 
. 
. 
. 
<select id="sel2" name="sel2" onchange="this.form.sel1.selectedIndex=this.selectedIndex"> 
. 
. 
. 

的jQuery(未測試)

$(document).ready(function() { 
    $("#sel1").change(function() { 
    $("#sel2").attr("selectedIndex",$(this).attr("selectedIndex")); 
    } 
    $("#sel2").change(function() { 
    $("#sel1").attr("selectedIndex",$(this).attr("selectedIndex")); 
    } 
}