Я бы хотел, чтобы функция вызывалась только тогда, когда браузер больше 640px
.Пока что у меня есть следующее, которое успешно загружает функцию, когда ширина экрана превышает 640px
, но проблема, с которой я сталкиваюсь, заключается в том, что когда ширина браузера возвращается ниже 640px
, функция все еще активна.В моем конкретном сценарии я не хочу, чтобы функция загружалась на меньшие дисплеи, поэтому я пытаюсь вызвать ее с помощью приведенного ниже кода.Как я могу каким-то образом удалить / уничтожить функцию, когда браузер изменен в соответствии с 640px
?
<script>
function someFunction() {
// .. does something when the browser width is greater than 640px
}
(function($){
//detect the width on page load and load the function
$(document).ready(function(){
var current_width = $(window).width();
if(current_width > 640){
someFunction();
}
}
});
//update the width value when the browser is resized
$(window).resize(function(){
var current_width = $(window).width();
if(current_width > 640){
someFunction();
}
});
})(jQuery);
</script>
Вот полный пример jsFiddle того, что у меня есть, что касается помощи, которую я получил до сих пор.http://jsfiddle.net/7Dqna/26/
Я использую липкую боковую панель, которая прокручивается вместе со страницей, когда она попадает в верхнюю часть браузера, но я пытаюсь отключить эту функцию на экранах меньшего размера (например, для мобильных устройств).
Это работает, когда страница обновляется, но если вы сделаете окно браузера больше, а затем меньше (менее 400 пикселей в примере jsFiddle), меню все равно будет присвоено CSS функцией.Так что я думаю, что это не собирание вещи с изменением размера.