2012-04-26 50 views
6

我有一个响应网站,我正在使用JavaScript创建一个粘性边栏。我可以根据窗口大小执行JavaScript吗?

当浏览器大小小于768px时,我还使用媒体查询将多列布局更改为单列布局。

我需要弄清楚如何在单列布局中禁用粘性菜单脚本。从本质上讲,我需要像脚本语句的媒体查询。

这是我使用,使脚本代码:

<script> 
jQuery('#info').containedStickyScroll({ 
     duration: 0, 
     unstick: false 
    }); 
</script> 

有什么我可以添加到它只是有它触发如果窗口是768px宽或更宽?

编辑:我正在寻找一个解决方案,如果用户在飞行中调整窗口的大小,将工作。

+0

同样相关:http://stackoverflow.com/questions/4811238/how-to-serve-up-different-javascript-files-by-browser-width/4811342#4811342 – 2012-04-26 02:33:46

回答

6

试试这个。

$(function(){ 
    $(window).resize(function(){ 
     if($(this).width() >= 768){ 
      jQuery('#info').containedStickyScroll({ 
       duration: 0, 
       unstick: false 
      }); 
     } 
     }) 
     .resize();//trigger resize on page load 
}); 
+0

你需要'> ='不' =='。 – 2012-04-26 02:18:33

+0

@MДΓΓБДLL这是基于页面加载时的窗口大小;如果用户在加载页面后调整页面大小,有没有办法让它工作? – artmem 2012-04-26 02:26:16

+0

@MДΓΓБДLL - 我认为OP只在宽度应该是768时才需要,但是yest'> ='应该更好。 – ShankarSangoli 2012-04-26 15:23:38

0

试试这个代码:

var height = $(window).height(); //I'm assuming you mean height, you can try .width() if yo u need it 

if (height < 768) { 
    jQuery('#info').containedStickyScroll({ 
     duration: 0, 
     unstick: false 
    }); 
} 

希望有所帮助。

相关问题