ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

动态监控窗口是PC或Phone(闭包数据传输)返回“Pc”或“phone”

2022-07-25 00:33:19  阅读:117  来源: 互联网

标签:闭包 status 750 pc Pc swiperCreate swiperInstance Phone true


function handlePX() {
  let swiperInstance = null;

  return function (status) {
    console.log(status);
    if (swiperInstance) {
      swiperInstance.update({
        slidesPerView: status == "pc" ? 1.354 : 1.253,
        coverflowEffect:
          status == "pc"
            ? {
                rotate: 0,
                stretch: "45%",
                depth: 500,
                // modifier: 2,
                slideShadows: false,
              }
            : {
                rotate: 90,
                stretch: "34%",
                depth: 500,
                // modifier: 2,
                slideShadows: false,
              },
      });
    } else {
      swiperInstance = new Swiper(".swiper", {
        init: true,
        initialSlide: 1, //开始时显示哪个slid
        centeredSlidesBounds: true,
        slidesPerView: status == "pc" ? 1.354 : 1.253,
        centeredSlides: true,
        on: {
          slideChangeTransitionEnd: function () {
            //console.log(this.activeIndex - 4); //切换结束时,告诉我现在是第几个slide,循环模式下需要计算
            document.getElementById("slidTitle").innerHTML =
              text[this.activeIndex - 4].title;
            document.getElementById("slidText").innerHTML =
              text[this.activeIndex - 4].text;
            // console.log(document.getElementById("slidText"));
          },
          //data-swiper-slide-index
        },
        loop: true, // 循环模式选项
        loopAdditionalSlides: 1,
        // autoplay: true,
        preventClicksPropagation: false, //拖动时阻止click事件
        effect: "coverflow",
        grabCursor: true, //鼠标变成手掌
        resizeObserver: true,
        coverflowEffect:
          status == "pc"
            ? {
                rotate: 0,
                stretch: "45%",
                depth: 500,
                // modifier: 2,
                slideShadows: false,
              }
            : {
                rotate: 0,
                stretch: "34%",
                depth: 1000,
                // modifier: 2,
                slideShadows: false,
              },
        // 如果需要分页器
        pagination: {
          el: ".swiper-pagination",
          clickable: true,
        },
        // 如果需要前进后退按钮
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
          hiddenClass: "my-button-hidden",
        },
      });
    }

    return swiperInstance;
  };
}
let swiperCreate = handlePX();
var width = document.body.clientWidth;
// var swiperInstance = handlePX;
if (width >= 750) {
  swiperCreate("pc");
} else {
  swiperCreate("phone");
}
window.onresize = function () {
  const lastWidth = width;
  const nowWidth = document.body.clientWidth;
  if (lastWidth < 750 && nowWidth >= 750) {
    swiperCreate("pc");
  } else if (lastWidth >= 750 && nowWidth < 750) {
    swiperCreate("phone");
  }
  width = nowWidth;
};

 

标签:闭包,status,750,pc,Pc,swiperCreate,swiperInstance,Phone,true
来源: https://www.cnblogs.com/Simoon/p/16516029.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有