防止已经启动的js插件的操作

时间:2016-01-29 10:43:05

标签: javascript jquery

上下文:

我正在使用jQuery插件stickyScroll,所以当我在特定页面上时,侧栏会与滚动的用户一起庆祝。

enter image description here

但是,当用户使用小屏幕尺寸时,我需要取消该功能。

enter image description here

我试图覆盖样式,但插件强于经典!important

$(window).resize(function(){
    if($(window).width() >= 991){
        $('.index2').stickyScroll({ container: '.containerIndex2' });
    }else{
        $('.sticy-active').style('top','0 !important');
    }
})

我也很难使用return,但我不知道怎么说它应该返回这个特定功能。

那么有没有办法强制使用样式而不是!important或取消功能操作?

3 个答案:

答案 0 :(得分:2)

你只需要做一个重置功能,它就有文件!

window.resize(resetSticky);
function resetSticy(){
if(window.innerWidth < 768)
  $('selector').stickyScroll('reset')
else
  $('selector').stickyScroll()
}

在这种情况下,您可以根据用户重新调整大小或查看端口来打开和关闭它! 如果你没有在document.ready上调用它,它只会在你调整浏览器大小时执行,所以你必须这样做。

$(document).ready(function(){
resetSticky();
}) 

答案 1 :(得分:1)

怎么样

if($(window).width() < 991){
  $('.index2').stickyScroll('reset');
}

然而,作者是warning that his plugin is not performing well

答案 2 :(得分:0)

尝试更改&#34;样式&#34;参数为&#34; css&#34;,

 $('.sticy-active').css('top','0 !important');

最近的!important应优先于之前的使用。

如果失败,请尝试删除框的绝对位置(恢复到位置:相对;或位置:固定;)