2013-09-08 3 views
0

Итак, я пытаюсь сделать функцию jQuery для изменения div в основном поплавком слева, когда мой сайт с базой Bootstrap 3 переходит в мобильный вид (< 750px on .container).jQuery Изменение размера менее, чем ширина

$(function() { 

    var container_width_checker = $('.container').css(width); 

    var container_width = function(){ 

     if (container_width_checker < 750px) { 
      $('.accountcustom').css({ 'float': 'none', 'padding-left': '10px', }); 
      $('#shopping_cart a').css({ 'float': 'none', 'padding-left': '10px', }); 
     } else { 
      $('.accountcustom').css({ 'float': 'right', }); 
      $('#shopping_cart a').css({ 'float': 'right', }); 
     } 
    }; 

    container_width(); 

    $(window).resize(function() { 
     container_width(); 
    }); 

}); 

Я правильно подошел с функцией jQuery для изменения размера?

ответ

0

Вы находитесь на правильном пути, но container_width_checker должна быть рассчитана на каждом изменении размера. Как есть, он вычисляется только один раз.

if ($('.container').width() < 750) { 

Лучше, однако, вместо этого взглянуть на медиа-запросы.

+0

Да, я чувствую себя глупо, потому что должен был использовать медиа-запросы .. но я действительно ценю, что вы объясняете проблему. Это помогает мне понять, что я делаю неправильно. :) Спасибо Джейсону. Приветствия. –

0

Я предлагаю вам просмотреть запросы на мультимедиа CSS и оставить jQuery.

Здесь есть некоторая дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

+1

Ах! Не знаю, о чем я думал. Спасибо, что указали это. Отлично работает, спасибо, сэр! –

0

Использование .width() позволит вам работать с чисто численным значением, а не с единицей измерения.

$(function() { 
    var container_width = function(){ 
     var container_width_checker = $('.container').width(); 
     if (container_width_checker < 750) { 
      $('.accountcustom').css({ 'float': 'none', 'padding-left': '10px', }); 
      $('#shopping_cart a').css({ 'float': 'none', 'padding-left': '10px', }); 
     } else { 
      $('.accountcustom').css({ 'float': 'right', }); 
      $('#shopping_cart a').css({ 'float': 'right', }); 
     } 
    }; 
    container_width(); 
    $(window).resize(function() { 
     container_width(); 
    }); 
}); 
Смежные вопросы