2014-12-11 8 views
0

У меня есть этот код:Остановить jquery для разных размеров экрана.

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script> 
<script type='text/javascript'> 
//<![CDATA[ 
$(window).load(function(){ 
$('#content-left').css('width', '100%').css('width', '-=320px'); 
$(window).on('resize', function(){ 
$('#content-left').css('width', '100%').css('width', '-=320px'); 
}); 
}); 
//]]> 
</script> 

Приведенный выше код прекрасно работает, но то, что мне нужно для этого кода прекратить работу или переключиться обратно только 100 шириной% (без вычитания 320px), когда размер экрана 768px или менее.

Я сделал некоторые поиски Google и нашел это:

if ($(window).width() <= 768){ 
     // do something here 
    } 

Но я не уверен, как добавить это в существующий код.


фона:

Моя боковая панель неподвижная боковая панель на правой стороне страницы на 300px. И у меня есть дополнение 20px между боковой панелью (# content-right) и основной частью (# content-left). В моем основном разделе (# content-left) используется приведенный выше скрипт 100% - 320 пикселей.

Я использую два CSS. Один из них - обычный CSS. Другое использование:

@media all and (max-width: 768px) {} 

спасибо. :)

+0

Вы ограничены только тем, что используете JavaScript или хотите ли вы предложить решение для CSS? – Patrick

+0

Я пробовал использовать width: calc (100% - 320px) в CSS. Но я заметил проблемы с совместимостью с браузером. Поэтому я нашел JavaScript, упомянутый в вопросе. Но я открыт для любого решения. – SomeDude

+0

Остерегайтесь: http://stackoverflow.com/questions/11309859/css-media-queries-and-javascript-window-width-do-not-match На самом деле вы должны использовать 'window.matchMedia'. Смотрите также этот ответ: http : //stackoverflow.com/a/23243951/1414562 –

ответ

0

Используйте простое if/else заявление, поместить код для изменения размера в функции и вызвать эту функцию при загрузке страницы и при изменении размеров окна.

function resize() { 
    if ($(window).width() <= 768) { 
    $('#content-left').css('width', '100%'); 
    } else { 
    $('#content-left').css('width', '100%').css('width', '-=320px'); 

    } 
} 

$(window).load(function() { 
    resize(); 
}); 
$(window).on('resize', function() { 
    resize(); 
}); 
+1

Вы рок !!!!!!!!!!! Это работает. :) – SomeDude

+1

@SomeDude Итак, отметьте его как «ответил». –

+0

Я очень новичок в stackoverflow. Как мне это сделать, мистер Тейлор? Благодарю. – SomeDude

0

Вы можете комбинировать их так. Это только запускает ваш код, когда окно составляет не менее 769 пикселей. Вот что "!" символ делает, преобразует его в NOT.

$(window).load(function() { 
    if (!$(window).width() <= 768) { 
    $('#content-left').css('width', '100%').css('width', '-=320px'); 
    $(window).on('resize', function() { 
     $('#content-left').css('width', '100%').css('width', '-=320px'); 
    }); 
    } 
}); 
+0

Благодарим вас за помощь, но я не смог заставить ее работать с использованием этого кода. :( – SomeDude

Смежные вопросы