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