是否可以同步兩個滾動條?jQuery jScrollPane同步滾動
0
A
回答
2
此功能添加到您的代碼:
jQuery.fn.synchronizeScroll = function() {
var elements = this;
if (elements.length <= 1) return;
elements.scroll(
function() {
var left = $(this).scrollLeft();
var top = $(this).scrollTop();
elements.each(
function() {
if ($(this).scrollLeft() != left) $(this).scrollLeft(left);
if ($(this).scrollTop() != top) $(this).scrollTop(top);
}
);
});
}
然後,你可以同步所有的滾動條元素中,像這樣:
$(「jqueryselectorgoeshere」).synchronizeScroll();
0
這應該是很容易通過結合這樣做到jsp-scroll-y
event,然後撥打scrollToY
API method。
或者,因爲JScrollPane中還調度平原scroll
事件,你可以通過使用getContentPositionY
代替scrollTop()
和scrollToY
代替scrollTop(value)
(並且對於左/頂屬性)
0
/* This is my solution. thank both*/
$c1= $("#c1").jScrollPane();
$c2= $("#c2").jScrollPane();
$("#c1").bind(
'jsp-scroll-y',
function(event, scrollPositionY, isAtTop, isAtBottom)
{
if($(this).find(".jspDrag").hasClass("jspActive")){
$c2.data('jsp').scrollToY(scrollPositionY)
console.log('Handle jsp-scroll-y', this,
'scrollPositionY=', scrollPositionY,
'isAtTop=', isAtTop,
'isAtBottom=', isAtBottom);
}
}
)
$("#c2").bind(
'jsp-scroll-y',
function(event, scrollPositionY, isAtTop, isAtBottom)
{
if($(this).find(".jspDrag").hasClass("jspActive")){
$c1.data('jsp').scrollToY(scrollPositionY)
console.log('Handle jsp-scroll-y', this,
'scrollPositionY=', scrollPositionY,
'isAtTop=', isAtTop,
'isAtBottom=', isAtBottom);
}
}
)
0
這裏的適應彼得玉米的解決方案我的解決方案將會製作一個粘滯的列,並且會產生一個粘性的行。設置溢出:隱藏在#rowHeader,#columnHeader
$("#dataTable").bind('jsp-scroll-y', function(event, scrollPositionY) {
$("#rowHeader").scrollTop(scrollPositionY);
}).bind('jsp-scroll-x',function(event, scrollPositionX) {
$("#columnHeader").scrollLeft(scrollPositionX);
}).jScrollPane();
0
velozyrapthor的答案是正確的,並且正在工作。 我添加到我的代碼中的唯一事情是'點擊賽道'事件。 當你點擊軌道時,它跳轉到位置。
因爲我的解決方案涉及到水平滾動條,我將事件更改爲水平滾動條。
這是我的代碼:
$c1=$('#c1').jScrollPane();
$c2=$('#c2').jScrollPane();
//sync the two boxes to scroll together
//bind the scroll to c1
$("#c1").bind(
'jsp-scroll-x',
function(event, scrollPositionX, isAtTop, isAtBottom)
{
if($(this).find(".jspDrag").hasClass("jspActive"))
{
$c2.data('jsp').scrollToX(scrollPositionX)
}
}
);
//bind the jump when clicking on the track
$("#c1").bind('mousedown',function()
{
$c2.data('jsp').scrollToX($c1.data('jsp').getContentPositionX());
});
//bind the scroll to c2
$("#c2").bind(
'jsp-scroll-x',
function(event, scrollPositionX, isAtTop, isAtBottom)
{
if($(this).find(".jspDrag").hasClass("jspActive"))
{
$c1.data('jsp').scrollToX(scrollPositionX)
}
}
);
//bind the jump when clicking on the track
$("#c2").bind('mousedown',function()
{
$c1.data('jsp').scrollToX($c2.data('jsp').getContentPositionX());
});
相關問題
- 1. 同步滾動 - jQuery的
- 2. 使用jQuery同步滾動?
- 3. jScrollPane同步性
- 4. JscrollPane滾動寬鬆?
- 5. jscrollpane - 水平滾動
- 6. jScrollPane滾動量
- 7. JScrollPane不滾動
- 8. 同步滾動
- 9. 在拖動JScrollPane上的JLabel的同時滾動JScrollPane
- 10. jscrollpane - 同步兩個div
- 11. 在jscrollpane/jquery中滾動沒有鼠標
- 12. jscrollpane(jquery)中的滾動條高度
- 13. jQuery的JScrollPane中 - 滾動條創建
- 14. JQuery:如何同步滾動條
- 15. JScrollPane滾動問題
- 16. JScrollPane - 平滑滾動
- 17. jscrollpane滾動面板
- 18. JScrollPane滾動問題
- 19. jScrollPane - 滾動條doens't顯示
- 20. jScrollPane滾動條問題
- 21. 智能JScrollPane自動滾動
- 22. 雙GridView同步和同步滾動
- 23. JScrollPane中無法滾動
- 24. JScrollPane滾動條不可滾動
- 25. jScrollpane滾動條不工作
- 26. 同步滾動兩個div
- 27. 滾動的JComponent在JScrollPane中
- 28. JScrollPane似乎沒有滾動
- 29. JScrollPane左側滾動條
- 30. jscrollpane塊滾動父母
看起來像一個很好的解決方案,但我不知道它會與JScrollPane的工作... JScrollPane中不影響滾動元件的scrollLeft和scrollTop的屬性.. 。 – vitch 2011-02-28 23:36:55