首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅在移动屏幕大小上使用slick.js

仅在移动屏幕大小上使用slick.js
EN

Stack Overflow用户
提问于 2014-09-23 20:29:31
回答 7查看 31.9K关注 0票数 9

我只希望slick.js插件在移动屏幕上是活动的,比如说在450 on以下。我希望这种情况发生在页面加载或浏览器大小调整上。如果我加载页面或将页面大小调整到正确的宽度,Slick.js就会正常工作,但如果我将浏览器的大小调整为大于450 to,则不会正常工作。这能办到吗?

代码语言:javascript
复制
   $(document).ready(function(){
    $(window).resize(function(){
      if($(window).width() < 450) {
        $('.round-card-slick').slick({
        });
      } else {
        $('.round-card-slick').unslick();
      }
    });
  }); 
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-10-06 19:47:54

问题是,即使在打开后,unslick仍会继续对尺寸进行调整,而这反过来又会破坏它。我同事提出的一项工作就像这张支票.

代码语言:javascript
复制
var target = $('.slick-mobile-gallery');
if(target.hasClass('slick-initialized'))
  target.unslick();

更新

解决方案是slick插件的内置特性& @James的答案是这个问题的真正答案。

票数 3
EN

Stack Overflow用户

发布于 2016-02-02 20:54:47

顺便说一句,您现在可以直接在光滑的响应设置对象中执行此操作。

代码语言:javascript
复制
mobileFirst: true, 
responsive: [
   {
      breakpoint: 480,
      settings: "unslick"
   }
]
票数 23
EN

Stack Overflow用户

发布于 2014-09-23 21:05:48

您的问题是该函数没有在页面加载时运行,因为它只是在窗口调整大小时调用的设置。

代码语言:javascript
复制
$(document).ready(function () {
  var $window = $(window)
    , $card = $('.round-card-slick')
    , toggleSlick;

  toggleSlick = function () {
    if ($window.width() < 450) {
      $card.slick();
    } else {
      $card.unslick();
    }
  }

  $window.resize(toggleSlick);
  toggleSlick();
});

要进一步发展这一步,最好是节流window.resize回调,这样toggleSlick就可以每500 is左右调用一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26004201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档