onclick更改插件设置

时间:2012-05-06 08:38:27

标签: jquery jscrollpane conflict jquery-jscrollpane

以下是设置:

$(function()
{
    $('.info').jScrollPane(
        {showArrows: true, hijackInternalLinks: true, animateScroll: true}
    );
}); 

问题是animateScroll: true与箭头冲突,但我需要为我的内部锚链接。

我认为这将解决冲突。 当您点击箭头按钮时:<a class="jspArrow jspArrowDown jspActive"</a>它会将jScrollPane设置更改为animateScroll: false,然后当您取消选中它时会恢复为animateScroll: true

我希望这是有道理的。任何帮助都会很棒。

修改

很抱歉没有早点回来。我已经设置了一个演示,因为你可以看到向下箭头不起作用。我认为它与animateScroll相关:true

http://jsfiddle.net/sVSsy/

由于

4 个答案:

答案 0 :(得分:1)

官方 scroll_to_animate.html DEMO page上没有问题,当DIV的宽度大约为 600px 时,使用您需要的两个选项。

解决方法是使用 jScrollPane arrowButtonSpeed选项,使用默认值 0 以外的值,例如 300px 时使用较小尺寸的DIV使用某些浏览器时的宽度,例如Chrome。

此jsfiddle更新还删除了重复鼠标脚本的资产,替换了DIV内容的附加ID“4”的重复ID“1”,因为ID只能使用一次。您将看到其他速度设置及其默认值,您可以针对DIV尺寸的任何更改进行试验。

这是更新的jsfiddle:
http://jsfiddle.net/sVSsy/3/

答案 1 :(得分:0)

尝试使用您想要的属性销毁并重建它。

var api= $('#element').data('jsp');
api.destroy();
$('#element').jScrollPane({animateScroll: true});

答案 2 :(得分:0)

你尝试过这样的事情吗?

$('yourelement').click(function(){
    if($('panedelement').jScrollPane.animateScroll === true)
        $('panedelement').jScrollPane.animateScroll = false;
    else
        $('panedelement').jScrollPane.animateScroll = true
});

答案 3 :(得分:-1)

您可以绑定到onmousedown和onmouseup事件:

http://www.w3schools.com/jsref/event_onmousedown.asp http://www.w3schools.com/jsref/event_onmouseup.asp

因此,在鼠标按下箭头时,您可以将animateScroll设置为false,然后将animateScroll设置为true。