【问题标题】:How to Hide the up or down arrow key when scrolling at the end of the Jscrollpane在 Jscrollpane 末尾滚动时如何隐藏向上或向下箭头键
【发布时间】:2023-03-21 21:27:01
【问题描述】:

我使用了来自http://jscrollpane.kelvinluck.com/ 的 JScrollPane,并对其进行了修改,以在最后(顶部或底部)滚动时隐藏箭头键。当滚动条位于顶部时,arrowUp 应该消失,仅在底部显示 arrowDown 并在向下滚动时再次出现。

我已经让箭头图像在顶部消失了,但问题是滚动轨道没有改变,只是在底部增加了与箭头图像大小相等的额外空间。我该如何解决这个问题,如何更改它,以便当箭头隐藏在一端时,jspTrack 的高度也会调整,在另一端显示另一个箭头而没有额外的空间?

if (settings.showArrows) {

                if(isAtTop){
                    arrowUp.addClass('jspDisabled');
                    arrowUp.css('display', 'none');
                }
                else{
                    arrowUp.removeClass('jspDisabled');
                    arrowUp.css('display', 'block');
                }

                if(isAtBottom){
                    arrowDown.addClass('jspDisabled');
                    arrowDown.css('display', 'none');
                }
                else{
                    arrowUp.removeClass('jspDisabled');
                    arrowDown.css('display', 'block');
                }

                /*arrowUp[isAtTop ? 'addClass' : 'removeClass']('jspDisabled');
                arrowDown[isAtBottom ? 'addClass' : 'removeClass']('jspDisabled');*/



            }

谢谢大家。

【问题讨论】:

  • 为了可用性,我要么总是保留它们要么总是删除它们。当它处于最大顶部或最大底部时,是否有任何特定原因要删除一个或另一个?还是客户或个人喜好?
  • 嗨,理查德,这是客户偏好。有没有办法做到这一点?或者如果至少有人可以指出我正确的方向......谢谢
  • 您将需要重置滚动条高度,并可能在到达顶部后移除并重新连接滚动条以补偿箭头的高度。一旦你到达顶部或底部,就会有一种捕捉,因为。现在您看到它了,即使您的顶部只有 1px,它也会出现然后再次跳下。并且一旦您达到最大顶部,该栏就会跳升 10 像素,因为它现在位于“顶部”.. 您几乎必须创建一个动画,使过渡更平滑,您不能进行一些流畅的谈话吗?真的没有“简单”的方法,有时你只需要说“不”,伙计。
  • 只是杀死箭头,所有触摸设备都杀死了箭头,即使 OSX Lion 不再使用它们。如果这仍然是一个问题,那么它是一个设计问题。
  • 我一遇到问题就想到了。感谢您的输入。可能不得不让那一点出来。太复杂了。不过,谢谢。

标签: jscrollpane arrow-keys


【解决方案1】:

你可以通过css控制它

<style>
.jspVerticalBar{
  background:none;
}
.jspVerticalBar .jspArrow{
  display:block;
}
.jspVerticalBar .jspDisabled
{
  display:none;
}
</style>

JavaScript:

<script>
 $('.pane').jScrollPane({showArrows:true});
</script>

【讨论】:

  • 感谢 rahen 发布此消息!
最近更新 更多