Javascript jQuery:在特定窗口大小中添加或删除函数

Javascript jQuery:在特定窗口大小中添加或删除函数,javascript,jquery,tinyscrollbar,Javascript,Jquery,Tinyscrollbar,我对jQuery/JS非常陌生,在特定窗口大小下添加或删除函数时,我没有什么问题。 如果您能看一下我的代码并更正它,我将不胜感激 具体来说,我使用tinyscrollbar插件,我只希望它出现在特定的窗口大小中(比如说窗口宽度超过650px) 这是我的密码: <!--****preload latest jQuery and tinyscrollbar plugin, then...****--> <script type="text/javascript"> fun

我对jQuery/JS非常陌生,在特定窗口大小下添加或删除函数时,我没有什么问题。 如果您能看一下我的代码并更正它,我将不胜感激

具体来说,我使用tinyscrollbar插件,我只希望它出现在特定的窗口大小中(比如说窗口宽度超过650px)

这是我的密码:

<!--****preload latest jQuery and tinyscrollbar plugin, then...****-->

<script type="text/javascript">

function newsScroll() {
    $("#newsScroll").tinyscrollbar();
};

/*
if windows width is less than 650px, remove newsScroll function and
switch DIV ID to "spNewsScroll" and vice versa.
*/
function scrollOnOff(width) {
    width = parseInt(width);
    if (width < 650) {
        $(window).unbind(newsScroll);
        $("#newsScroll").attr('id','spNewsScroll');
    } else {
        $(window).bind(newsScroll);
        $("#spNewsScroll").attr('id','newsScroll');
    }
};

$(function() {
    //get window size as of now.
    scrollOnOff($(this).width());
    $(window).resize(function() {
        scrollOnOff($(this).width());
    });       
});

</script>

函数newscroll(){
$(“#新闻滚动条”).tinyscrollbar();
};
/*
如果windows宽度小于650px,请删除新闻滚动功能并
将DIV ID切换到“spnewscroll”,反之亦然。
*/
功能scrollOnOff(宽度){
宽度=parseInt(宽度);
如果(宽度<650){
$(窗口)。解除绑定(新闻滚动);
$(“#新闻卷轴”).attr('id','spnewscroll');
}否则{
$(窗口).bind(新闻滚动);
$(“#spnewscroll”).attr('id','newscroll');
}
};
$(函数(){
//获取当前窗口的大小。
scrollOnOff($(this).width());
$(窗口)。调整大小(函数(){
scrollOnOff($(this).width());
});       
});

试试这个,经过测试并正常工作:-)

现场演示:

功能滚动关闭(宽度){
宽度=parseInt(宽度);
如果(宽度<650){
$(window.trigger('newscroll');
$('newscroll').attr('id','spnewscroll');
}否则{
$('.scrollbar').hide();
$('#spnewscroll').attr('id','newscroll');
}
};
$(函数(){
$(窗口).bind('newscroll',函数(e){
$('.scrollbar').show();
$(“#新闻滚动条”).tinyscrollbar();
});
var screenWidth=$(this.width();
scrollOnOff(屏幕宽度);
$(窗口)。打开(“调整大小”,函数(事件){
var w=$(this.width();
scrollOnOff(w);
});
});

您看过了吗-它希望事件类型作为第一个参数,回调函数作为第二个或第三个参数…非常感谢您的快速回复,Oscar!虽然我实施了你的建议,但不知怎么的,它似乎不起作用。我为此创建了JSFIDLE,请看一下代码好吗?1.tinyscrollbar未在页面加载时加载。2.当我更改窗口大小时(拖动中心分隔符以更改窗口大小)(注意:jQuery1.7.2和tinyscrollbar.js被附加到这个fiddle())。好的,让我看看,让你知道。@norixxx试试这个:我也会更新post.Oscar。它工作得很好!非常感谢你!我会更加努力学习JS/jQuery;-)@norixxx没问题,我是来帮你的:-)别忘了点击这篇文章旁边的检查图片,选择这个作为你的答案。我这么说是因为你是新来的:-)
function scrollOnOff(width) {
    width = parseInt(width);
    if(width < 650){
        $(window).trigger('newsScroll');
        $('#newsScroll').attr('id','spNewsScroll');
    } else {
        $('.scrollbar').hide();
        $('#spNewsScroll').attr('id','newsScroll');
    }
};

$(function() {

    $(window).bind('newsScroll', function(e) {
        $('.scrollbar').show();
        $('#newsScroll').tinyscrollbar();
    });

    var screenWidth = $(this).width();
    scrollOnOff(screenWidth);

    $(window).on("resize", function(event){
        var w = $(this).width();
        scrollOnOff(w);                
    });

});