Jump to content
  • 0

Выполнение скрипта при <=1023px


npofopr
 Share

Question

Например я делаю вот так:

$(window).resize(function(){  if ($(window).width() <= 1023){    $('#bestseller_slider').carouFredSel({        responsive: true,        items: {            visible: 3        },        scroll: {            items:          1,            duration:       300        },        auto:               false,        swipe: {            onTouch:        true        },        prev: '#bestseller_prev',        next: '#bestseller_next'    });  } });

т.е. при разрешении <=1023 включается слайдер. Как бы все работает. 

А можно ли сделать, чтобы при увеличении разрешении, т.е. когда уже >1023 действие скрипта прекращалось. Т.е., например, слайдер отключался, вместе со своими стилями.

 

Может даже какие то библиотеки есть для этого дела?

 

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0

вешай класс когда работает скрипт типо carouFredSel_processed и на него вешай стили когда не нужно класса нет стили не работают )

Попробую, но разве это не тоже самое получается?

Link to comment
Share on other sites

  • 0

А он платный? По нему есть документация полноценная?

Я прост не могу найти, но видимо она только при покупке доступна.

Должен быть метод, вроде .destroy - который убирает слайдер.

Я нашла вот такой совет $(".item-carousel").trigger("destroy");

Edited by Zverushka
  • Like 1
Link to comment
Share on other sites

  • 0

так все правильно получается, если разрешение меньше, то включить плагин, если больше, сделать ему десртой

if ($(window).width() <= 1023){

$('#bestseller_slider').carouFredSel({..})
}else{

$('#bestseller_slider').trigger("destroy");

}

Edited by bvvell
  • Like 1
Link to comment
Share on other sites

  • 0

У меня стоит 

$(window).resize(function(){

т.е. я так понимаю, выполнение скрипта идет при ресайзе, а как сделать, чтобы если сразу загрузились, например, в разрешении 768px, то слайдер начинал работать, т.е. без ресайза.

Link to comment
Share on other sites

  • 0

У меня стоит 

$(window).resize(function(){

т.е. я так понимаю, выполнение скрипта идет при ресайзе, а как сделать, чтобы если сразу загрузились, например, в разрешении 768px, то слайдер начинал работать, т.е. без ресайза.

 

Выполнить функцию-обработчик сразу после загрузки, а потом выполнять на ресайз. Ну и ширину сразу в обработчике проверять.

Link to comment
Share on other sites

  • 0

Вешайте обработчик на событие построения DOM-дерева....(document.ready) И проверяйте там, что хотите... Хоть ширину текущую, хоть высоту...

А про ресайз Пушкин думать будет?

Link to comment
Share on other sites

  • 0
Дак это же другая тема... спрашивали то про загрузку...
 

 

А можно ли сделать, чтобы при увеличении разрешении, т.е. когда уже >1023 действие скрипта прекращалось.
 
Link to comment
Share on other sites

  • 0
Выполнить функцию-обработчик сразу после загрузки, а потом выполнять на ресайз. Ну и ширину сразу в обработчике проверять.
 На мобильниках, кстати, слайдер сразу начинает работать. А вот в браузере, если сразу загрузить страницу в маленьком разрешении, не схватывает.
Link to comment
Share on other sites

  • 0

 

Выполнить функцию-обработчик сразу после загрузки, а потом выполнять на ресайз. Ну и ширину сразу в обработчике проверять.
 На мобильниках, кстати, слайдер сразу начинает работать. А вот в браузере, если сразу загрузить страницу в маленьком разрешении, не схватывает.

 

То есть не получается выполнить функцию на domready и тут же назначить ее на onresize? По такому описанию я вряд-ли смогу что-то сказать :(

Link to comment
Share on other sites

  • 0

Не правильно выразился я, наверно)

Я про то, что вот такой вариант, который был изначально http://jsfiddle.net/npofopr/sVQk2/ на телефоне нормально сработал.

А на PC если браузер загружать в маленьком окошке, слайдер срабатывает только при небольшом ресайзе окна.

Link to comment
Share on other sites

  • 0

Не правильно выразился я, наверно)

Я про то, что вот такой вариант, который был изначально http://jsfiddle.net/npofopr/sVQk2/ на телефоне нормально сработал.

А на PC если браузер загружать в маленьком окошке, слайдер срабатывает только при небольшом ресайзе окна.

 

http://jsfiddle.net/bvvell/mRCPe/

если вынести проверку в функцию, то ее можно сразу вызвать, а потом на ресайз

Link to comment
Share on other sites

  • 0

 

Не правильно выразился я, наверно)

Я про то, что вот такой вариант, который был изначально http://jsfiddle.net/npofopr/sVQk2/ на телефоне нормально сработал.

А на PC если браузер загружать в маленьком окошке, слайдер срабатывает только при небольшом ресайзе окна.

 

http://jsfiddle.net/bvvell/mRCPe/

если вынести проверку в функцию, то ее можно сразу вызвать, а потом на ресайз

 

У меня не сработало, кстати.

Я так понимаю, это то же самое почти?)

$(document).ready(function () {    updateContainer();    $(window).resize(function() {        updateContainer();    });});function updateContainer() {    var $containerWidth = $(window).width();    if ($containerWidth <= 767) {        var cw = $('.pair_box').width();        $('.pair_box').css({            'height': cw + 'px'        });    }}

Тут конечно о другом, но тоже вроде по такой же схеме. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy