2012-04-26 33 views
6

Tôi có trang web đáp ứng nơi tôi đang sử dụng javascript để tạo thanh bên dính.Tôi có thể thực thi javascript dựa trên kích thước cửa sổ không?

Tôi cũng đang sử dụng truy vấn phương tiện để thay đổi từ bố cục nhiều cột thành bố cục một cột khi kích thước trình duyệt nhỏ hơn 768px.

Tôi cần tìm hiểu cách tắt tập lệnh menu dính trong bố cục một cột. Về cơ bản, tôi cần một cái gì đó giống như một truy vấn phương tiện truyền thông cho các tuyên bố kịch bản.

Đây là mã tôi đang sử dụng để cho phép các kịch bản:

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

Có cái gì tôi có thể thêm vào nó để chỉ có nó kích hoạt nếu cửa sổ rộng 768px hoặc rộng hơn?

EDIT: Tôi đang tìm một giải pháp sẽ hoạt động nếu người dùng thay đổi kích thước cửa sổ khi đang di chuyển.

+0

Cũng liên quan: http://stackoverflow.com/questions/4811238/how-to-serve-up-different-javascript-files-by-browser-width/4811342#4811342 –

Trả lời

6

Hãy thử điều này.

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

Bạn cần '> =' không ' == '. –

+0

@ MДΓΓ БДLL Công trình này dựa trên kích thước cửa sổ khi tải trang; có cách nào để làm cho nó hoạt động nếu người dùng thay đổi kích thước trang sau khi nó được tải? – artmem

+0

@ MДΓΓБДLL - Tôi nghĩ OP chỉ cần khi chiều rộng phải là 768 nhưng yest '> =' nên tốt hơn. – ShankarSangoli

0

Hãy thử mã này:

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 
    }); 
} 

Hy vọng rằng sẽ giúp.

Các vấn đề liên quan