Swiper总结

news2024/11/19 10:35:26

文章目录

  • Swiper总结
    • 概述
    • 使用
      • 简单使用
      • 自动切换
      • 分页器样式
      • 切换效果
      • 预览
      • 视差效果
      • 延迟加载
      • 自适应高度
      • 放大缩小
    • 案例
      • tab切换
      • 引导页

Swiper总结

概述

Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。

Swiper能实现触屏焦点图、触屏Tab切换、触屏轮播图切换等常用效果。

Swiper开源、免费、稳定、使用简单、功能强大,是架构移动终端网站的重要选择

Swiper官网

使用

更多样式查看

简单使用

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Swiper</title>
    <link rel="stylesheet" href="./swiper/swiper-bundle.min.css" />
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      .swiper {
        width: 600px;
        height: 300px;
        border: 1px solid red;
        margin: 50px auto;
      }
      .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
      }
    </style>
  </head>
  <body>
    <div class="swiper" id="mySwiper">
      <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
        <div class="swiper-slide">Slide 4</div>
        <div class="swiper-slide">Slide 5</div>
      </div>

      <!-- 前进后退按钮 -->
      <div class="swiper-button-next"></div>
      <div class="swiper-button-prev"></div>

      <!-- 分页器 -->
      <div class="swiper-pagination"></div>

      <!-- 滚动条 -->
      <div class="swiper-scrollbar"></div>
    </div>
    <script src="./swiper/swiper-bundle.min.js"></script>
    <script>
      var swiper = new Swiper("#mySwiper", {
        // 方向
        direction: "horizontal",
        // 是否循环
        loop: true,
        // 前进后退按钮
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
        // 分页器
        pagination: {
          el: ".swiper-pagination",
        },
        // 滚动条
        scrollbar: {
          el: ".swiper-scrollbar",
        },
      });
    </script>
  </body>
</html>

自动切换

var mySwiper = new Swiper('.swiper', {
    // 开启自动切换
    autoplay:true
});
var mySwiper = new Swiper('.swiper', {  
    // 等同于上面
    autoplay: {
        delay: 3000,
        stopOnLastSlide: false,
        disableOnInteraction: true,
    },
});

分页器样式

动态子弹

var swiper = new Swiper(".mySwiper", {
    pagination: {
        el: ".swiper-pagination",
        dynamicBullets: true,
    },
});

在这里插入图片描述

进度条

var swiper = new Swiper(".mySwiper", {
    pagination: {
        el: ".swiper-pagination",
        type: "progressbar",
    }
});

在这里插入图片描述

数字

var swiper = new Swiper(".mySwiper", {
    pagination: {
        el: ".swiper-pagination",
        type: "fraction",
    }
});

在这里插入图片描述

自定义

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Swiper</title>
    <link rel="stylesheet" href="./swiper/swiper-bundle.min.css" />
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      .swiper {
        width: 600px;
        height: 300px;
        border: 1px solid red;
        margin: 50px auto;
      }
      .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .swiper-pagination-bullet {
        width: 20px;
        height: 20px;
        text-align: center;
        line-height: 20px;
        font-size: 12px;
        color: #000;
        opacity: 1;
        background: rgba(0, 0, 0, 0.2);
      }
      .swiper-pagination-bullet-active {
        color: #fff;
        background: #007aff;
      }
    </style>
  </head>
  <body>
    <div class="swiper" id="mySwiper">
      <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
        <div class="swiper-slide">Slide 4</div>
        <div class="swiper-slide">Slide 5</div>
      </div>

      <!-- 前进后退按钮 -->
      <div class="swiper-button-next"></div>
      <div class="swiper-button-prev"></div>

      <!-- 分页器 -->
      <div class="swiper-pagination"></div>
    </div>
    <script src="./swiper/swiper-bundle.min.js"></script>
    <script>
      var swiper = new Swiper("#mySwiper", {
        // 前进后退按钮
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
        // 分页器
        pagination: {
          el: ".swiper-pagination",
          clickable: true,
          renderBullet: function (index, className) {
            return '<span class="' + className + '">' + (index + 1) + "</span>";
          },
        },
      });
    </script>
  </body>
</html>

在这里插入图片描述

切换效果

淡入

var swiper = new Swiper(".mySwiper", {
    spaceBetween: 30,
    effect: "fade",
    navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
    },
    pagination: {
        el: ".swiper-pagination",
        clickable: true,
    },
});

方块

var swiper = new Swiper(".mySwiper", {
    effect: "cube",
    grabCursor: true,
    cubeEffect: {
        shadow: true,
        slideShadows: true,
        shadowOffset: 20,
        shadowScale: 0.94,
    },
    pagination: {
        el: ".swiper-pagination",
    },
});

3D流

var swiper = new Swiper(".mySwiper", {
    effect: "coverflow",
    grabCursor: true,
    centeredSlides: true,
    slidesPerView: "auto",
    coverflowEffect: {
        rotate: 50,
        stretch: 0,
        depth: 100,
        modifier: 1,
        slideShadows: true,
    },
    pagination: {
        el: ".swiper-pagination",
    },
});

3D翻转

var swiper = new Swiper(".mySwiper", {
    effect: "flip",
    grabCursor: true,
    pagination: {
        el: ".swiper-pagination",
    },
    navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
    },
});

卡片式

var swiper = new Swiper(".mySwiper", {
    effect: "cards",
    grabCursor: true,
});

预览

var swiper = new Swiper(".mySwiper", {
    // 同时显示数量
    slidesPerView: 3,
    // 是否居中,true表示居中,false表示居左
    centeredSlides: false,
    // 页面间距
    spaceBetween: 30,
    pagination: {
        el: ".swiper-pagination",
        type: "fraction",
    },
    navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
    },
});

视差效果

  • data-swiper-parallax属性控制元素位移,单位为px何百分比。
  • data-swiper-parallax-opacity属性控制元素透明度,必须设置位移。
  • data-swiper-parallax-scale属性控制元素缩放,必须设置位移。
  • data-swiper-parallax-duration属性控制视差动画时长。
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<title>Swiper demo</title>
		<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
		<link rel="stylesheet" href="../swiper-bundle.min.css" />
		<style>
			html,
			body {
				position: relative;
				height: 100%;
			}

			body {
				background: #eee;
				font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
				font-size: 14px;
				color: #000;
				margin: 0;
				padding: 0;
			}

			.swiper {
				width: 100%;
				height: 100%;
				background: #000;
			}

			.swiper-slide {
				font-size: 18px;
				color: #fff;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				padding: 40px 60px;
			}

			.parallax-bg {
				position: absolute;
				left: 0;
				top: 0;
				width: 130%;
				height: 100%;
				-webkit-background-size: cover;
				background-size: cover;
				background-position: center;
			}

			.swiper-slide .title {
				font-size: 41px;
				font-weight: 300;
			}

			.swiper-slide .subtitle {
				font-size: 21px;
			}

			.swiper-slide .text {
				font-size: 14px;
				max-width: 400px;
				line-height: 1.3;
			}
		</style>
	</head>

	<body>
		<!-- Swiper -->

		<div style="--swiper-navigation-color: #fff; --swiper-pagination-color: #fff" class="swiper mySwiper">
			<div class="parallax-bg" style="
          background-image: url(./images/nature-1.jpg);
        " data-swiper-parallax="-23%"></div>
			<div class="swiper-wrapper">
				<div class="swiper-slide">
					<div class="text" data-swiper-parallax="-100">
						<p> 啊啊啊啊啊 </p>
					</div>
				</div>
				<div class="swiper-slide">
					<div class="text" data-swiper-parallax="-300" data-swiper-parallax-duration="3000">
						<p> 拜拜拜拜 </p>
					</div>
				</div>
				<div class="swiper-slide">
					<div class="text" data-swiper-parallax="-600" data-swiper-parallax-duration="6000">
						<p> 匆匆匆匆 </p>
					</div>
				</div>
				<div class="swiper-slide">
					<div data-swiper-parallax="0" data-swiper-parallax-opacity="0.1"
						data-swiper-parallax-duration="6000">透明度变化</div>
				</div>
			</div>
			<div class="swiper-button-next"></div>
			<div class="swiper-button-prev"></div>
			<div class="swiper-pagination"></div>
		</div>

		<!-- Swiper JS -->
		<script src="../swiper-bundle.min.js"></script>

		<!-- Initialize Swiper -->
		<script>
			var swiper = new Swiper(".mySwiper", {
				// 切换速度,默认300
				speed: 600,
				// 开启视差效果
				parallax: true,
				pagination: {
					el: ".swiper-pagination",
					clickable: true,
				},
				navigation: {
					nextEl: ".swiper-button-next",
					prevEl: ".swiper-button-prev",
				},
			});
		</script>
	</body>
</html>

延迟加载

  • 图片延迟加载:需要将图片img标签的src改写成data-src,并且增加类名swiper-lazy。
  • 背景图延迟加载:载体增加属性data-background,并且增加类名swiper-lazy。
<div class="swiper">
    <div class="swiper-wrapper">
        <!-- 延迟加载图片的结构 -->
        <div class="swiper-slide">
            <!-- 延迟加载图片 -->
            <img data-src="path/to/picture-1.jpg" class="swiper-lazy">
            <!-- 加载进度条 -->
            <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div>
        </div>

        <!-- 延迟加载背景图的结构 -->
        <div class="swiper-slide">
             <!-- 延迟加载背景图片 -->
            <div data-background="path/to/picture-2.jpg" class="swiper-lazy">
                <div class="swiper-lazy-preloader"></div>
            </div>
        </div>
    </div>
</div>
var swiper = new Swiper(".mySwiper", {
    // 开启延迟加载
    lazy: true,
    pagination: {
        el: ".swiper-pagination",
        clickable: true,
    },
    navigation: {
        nextEl: ".swiper-button-next",
        prevEl: ".swiper-button-prev",
    },
});

自适应高度

自动高度。设置为 true 时,wrapper 和container 会随着当前slide 的高度而发生变化。

var swiper = new Swiper('.swiper', {
    autoHeight: true, //高度随内容变化
});

放大缩小

<div class="swiper mySwiper">
    <div class="swiper-wrapper">
        <div class="swiper-slide">
            <div class="swiper-zoom-container">
                <img src="./images/nature-1.jpg" />
            </div>
        </div>
        <div class="swiper-slide">
            <div class="swiper-zoom-container">
                <img src="./images/nature-2.jpg" />
            </div>
        </div>
        <div class="swiper-slide">
            <div class="swiper-zoom-container">
                <img src="./images/nature-3.jpg" />
            </div>
        </div>
    </div>
</div>
var swiper = new Swiper(".mySwiper", {
    // 开启缩放
    zoom: true
});

案例

tab切换

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>tab切换</title>
    <link rel="stylesheet" href="./swiper/swiper-bundle.min.css" />
    <style>
      * {
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
      }
      a {
        text-decoration: none;
        color: #333;
      }
      .tab-container {
        width: 500px;
        border: 1px solid black;
        margin: 100px auto;
      }
      .tab-header {
        display: flex;
        justify-content: space-around;
        line-height: 50px;
      }
      .tab-label-active {
        color: #409eff;
        border-bottom: 2px solid #409eff;
      }
      .tab-content {
        height: 200px;
        line-height: 200px;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <div class="tab-container">
      <div class="tab-header">
        <a
          href="javascript:;"
          class="tab-label tab-label-active"
          data-index="0">
          西游记
        </a>
        <a href="javascript:;" class="tab-label" data-index="1">水浒传</a>
        <a href="javascript:;" class="tab-label" data-index="2">三国演义</a>
      </div>
      <div class="swiper tab-content">
        <div class="swiper-wrapper">
          <div class="swiper-slide">西游记内容</div>
          <div class="swiper-slide">水浒传内容</div>
          <div class="swiper-slide">三国演义内容</div>
        </div>
      </div>
    </div>
    <script src="./swiper/swiper-bundle.min.js"></script>
    <script>
      let tabHeader = document.querySelector(".tab-header");
      let tabLabels = document.querySelectorAll(".tab-label");

      const tabSwiper = new Swiper(".swiper", {
        on: {
          slideChangeTransitionEnd: function () {
            for (let item of tabLabels) {
              item.classList.remove("tab-label-active");
            }
            tabLabels[this.activeIndex].classList.add("tab-label-active");
          },
        },
      });
      tabHeader.addEventListener("click", (e) => {
        let el = e.target;
        if (
          el.nodeName.toLowerCase() === "a" &&
          el.classList.contains("tab-label")
        ) {
          tabSwiper.slideTo(el.dataset.index);
        }
      });
    </script>
  </body>
</html>

引导页

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>页面滑动切换</title>
		<link rel="stylesheet" href="./swiper-bundle.min.css" />
		<style>
			* {
				padding: 0;
				margin: 0;
			}

			.swiper-container {
				width: 100vw;
				height: 100vh;
			}

			.swiper-slide {
				overflow: hidden;
				position: relative;
				display: flex;
				justify-content: center;
			}

			.logistics-slide {
				background-color: #57cfe1;
			}

			.purchase-slide {
				background-color: #fe8e34;
			}

			.logistics-text,
			.purchase-text {
				position: absolute;
				width: 214px;
				opacity: 0;
				transition: all 1s 0.5s;
			}

			.logistics-text-active,
			.purchase-text-active {
				opacity: 1;
			}

			.logistics-text {
				top: 50px;
			}

			.purchase-text {
				bottom: 40px;
			}

			.logistics-phone,
			.logistics-person,
			.purchase-phone,
			.purchase-person {
				position: absolute;
				width: 180px;
				transition: all 0.5s;
			}

			.logistics-phone {
				bottom: 0;
				transform: translate3d(-1000px, 0, 0);
			}

			.logistics-phone-active {
				transform: translate3d(-70px, 0, 0);
			}

			.logistics-person {
				bottom: 0;
				transform: translate3d(1000px, 0, 0);
			}

			.logistics-person-active {
				transform: translate3d(70px, 0, 0);
			}

			.purchase-person {
				top: 50px;
				transform: translate3d(-70px, -1000px, 0);
			}

			.purchase-person-active {
				top: 50px;
				transform: translate3d(-70px, 0, 0);
			}

			.purchase-phone {
				top: 120px;
				transform: translate3d(70px, 1000px, 0);
			}

			.purchase-phone-active {
				top: 120px;
				transform: translate3d(70px, 0, 0);
			}
		</style>
	</head>
	<body>
		<div class="swiper-container">
			<div class="swiper-wrapper">
				<div class="swiper-slide logistics-slide">
					<img src="./images/logistics-phone.png" alt="" class="logistics-phone" id="logistics-phone" />
					<img src="./images/logistics-person.png" alt="" class="logistics-person" id="logistics-person" />
					<img src="./images/logistics-text.png" alt="" class="logistics-text" id="logistics-text" />
				</div>
				<div class="swiper-slide purchase-slide">
					<img src="./images/purchase-phone.png" alt="" class="purchase-phone" id="purchase-phone" />
					<img src="./images/purchase-person.png" alt="" class="purchase-person" id="purchase-person" />
					<img src="./images/purchase-text.png" alt="" class="purchase-text" id="purchase-text" />
				</div>
			</div>
			<!-- 如果需要分页器 -->
			<div class="swiper-pagination"></div>
		</div>

		<script src="./swiper-bundle.min.js"></script>
		<script>
			const classNames = [
				['logistics-phone', 'logistics-person', 'logistics-text'],
				['purchase-phone', 'purchase-person', 'purchase-text']
			];

			new Swiper('.swiper-container', {
				direction: 'horizontal',
				pagination: {
					el: '.swiper-pagination',
					clickable: true
				},
				mousewheel: true,
				on: {
					init() {
						// 在初始化时触发一次 slideChangeTransitionEnd 事件
						this.emit('slideChangeTransitionEnd');
					},
					slideChangeTransitionEnd() {
						for (const id of classNames[this.activeIndex]) {
							const $el = document.getElementById(id);
							$el.classList.add(`${id}-active`);
						}

						if (typeof this.previousIndex !== 'undefined') {
							for (const id of classNames[this.previousIndex]) {
								const $el = document.getElementById(id);
								$el.classList.remove(`${id}-active`);
							}
						}
					}
				}
			});
		</script>
	</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三节课 Linux文件权限

Linux是多人多任务的操作系统&#xff0c;因此可能常常会有多人使用一台机器&#xff0c; 为了考虑每个人的隐私、方便用户合作&#xff0c;每个文件都有三类用户&#xff0c;权限是基于这三类用户设定的&#xff1a; 1) 文件拥有者&#xff08;user&#xff09; 2) 组用户&a…

SpringBoot 自定义注解实现Redis缓存功能

背景 最近小A的公司要做一个大屏可视化平台&#xff0c;主要是给领导看的&#xff0c;领导说这个项目要给领导演示&#xff0c;效果好不好直接关系到能不能拿下这个项目&#xff0c;领导还补了一句“这项目至少是百万级的&#xff0c;大伙要全力以赴”&#xff0c;早上小A还想…

走近大数据——什么是大数据、计算架构的发展

文章目录 一、什么是大数据二、大数据计算架构的发展1.RDBMS阶段2.Hadoop Map-Reduce阶段3.Spark阶段4.Flink阶段 参考 一、什么是大数据 大数据是指无法在有限时间内用常规软件工具对其进行获取、存储、管理和处理的数据集合。 大数据的特点&#xff1a; 海量化&#xff1a;数…

少年不懂孔乙己,读懂已是书中人

文章目录 前言梗从何来互联网文学背后的焦虑给学弟学妹的建议 前言 《孔乙己》是近代文学巨匠鲁迅所著的短篇小说。 大概故事讲的是孔乙己是站着喝酒而穿长衫的&#xff08;那时候穿长衫的人代表着有知识&#xff09;唯一人&#xff0c;穿的虽然是长衫&#xff0c;可是又脏又破…

SpringMVC概述

SpringMVC概述 1. SpringMVC概述1.1 SpringMVC概述 2. 入门案例【重点】2.1 实现步骤2.2 代码实现【第一步】创建web工程&#xff08;Maven结构&#xff09;【第二步】设置tomcat服务器&#xff0c;加载web工程【第三步】导入坐标&#xff08;SpringMVCServlet&#xff09;【第…

璞华助力“数字人社”,为成都市人社数字化建设提供多方位的产品与技术支持!

新的时期&#xff0c;人力资源和社会保障事业进入新一轮的制度创新和加快发展阶段。把对各项人力资源和社会保障业务的支持和服务纳入信息化建设&#xff0c;通过 “数字人社”信息化建设项目&#xff0c;是充分利用新一代信息技术&#xff0c;有效整合各类信息资源&#xff0c…

ChatGPT背后的打工人:你不干,有的是AI干

AI“出圈” 如今&#xff0c;数字技术发展速度惊人&#xff0c;AI提高了社会生产效率&#xff0c;更真切地冲击到原有的生产秩序。 年初AI技术的爆发&#xff0c;让国内看到了进一步降本增效的希望。 国内多家互联网企业相继推出类ChatGPT产品&#xff0c;复旦大学邱锡鹏教授…

清洁赛道新势力,米博凭“减法”突围?

在五四青年节这个特殊的日子&#xff0c;方太旗下的高端智能清洁品牌“米博”发布了新一代无滚布洗地机7系列。 5月4日晚&#xff0c;米博以“减法生活&#xff0c;净请7代”为主题&#xff0c;举办了新品发布会。在发布会上&#xff0c;从小红书翻红的董洁作为方太集团米博产…

持之以恒奖牌来啦,带你提前看~

加油&#xff0c;让我们继续持之以恒吧&#xff01;

Flutter 中使用 dart:html 的条件导入

Flutter 中使用 dart:html 的条件导入 Flutter 是一个跨平台的 UI 框架&#xff0c;可以让你用一套代码开发 Android、iOS、Web 和桌面应用。但是&#xff0c;不同的平台有不同的特性和限制&#xff0c;所以有时候你可能需要根据平台来导入不同的库或代码。这时候&#xff0c;…

社交“搭子”火了!小红书数据分析,品牌正用“陪伴”种草?

找搭子&#xff0c;年轻人在搞一种很新的社交 朋友&#xff0c;你找搭子了吗&#xff1f;近期&#xff0c;“搭子”这种新型社交关系走红&#xff0c;饭搭子、奶茶搭子、厕所搭子、旅游搭子……遍布于各式各样的场景中&#xff0c;主打的就是一个垂直细分领域的精准陪伴。“搭子…

数字化转型:制造业企业,如何创新技术并借力发展?

数字中国峰会刚刚拉开帷幕&#xff0c;紧跟一波潮流。 在这个数字技术全面升级的关口&#xff0c;企业如何进更时代步伐&#xff0c;更好完成数字化转型和升级&#xff1f; 到底什么是数字化转型&#xff1f; 我们当下所看到的很多对“数字化”的理解&#xff0c;依然是“信…

【c++修行之路】模板

模板 一般我们在实现一个函数的时候&#xff0c;都会使用模板&#xff0c;因为如果将类型写死&#xff0c;下次再使用的时候就要新写一个函数&#xff0c;尽管重载可以让名字方便&#xff0c;但每重载都要自己去写一个函数&#xff0c;这样非常麻烦&#xff0c;所以模板就是让…

025 - C++ 接口(纯虚函数)

上一期我们学习了虚函数&#xff0c;本期我们学习一种特殊的虚函数&#xff0c;纯虚函数。 C 纯虚函数本质上与其他语言中的抽象方法或接口相同&#xff0c;基本上&#xff0c;纯虚函数允许我们在基类中定义一个没有实现的函数&#xff0c;然后强制子类去实现该函数。 我们可…

uni-app获取手机号

登录微信公众平台拿到自己的AppID(小程序ID)和AppSecret(小程序密钥) 微信公众平台 1.获取手机号首先要先登录拿到code&#xff0c;用code去获取session_key 2.获取 code需要知道自己的AppID(小程序ID)和AppSecret(小程序密钥) 3.解密 uni.login({success: (loginRes) > {…

提取Windows中系统自带的图标资源

写应用程序&#xff0c;如果想使用Windows下的图标&#xff0c;可以使用Visual Studio中的图标&#xff0c;比如VS2008的ImageLibrary&#xff08;笔者已经打包上传到CSDN&#xff09;&#xff0c;也可以使用Windows系统自带的图标。 Windows系统自带了不少高质量的图标资源&a…

2019临沂中考数学解析

一、选择 考点&#xff1a; 绝对值&#xff1a;数轴上某个数与原点的距离叫做这个数的绝对值。 其中距离一定是非负的&#xff0c;即大于等于0 考点&#xff1a; 两直线平行&#xff0c;同位角相等邻补角&#xff1a; 指两条直线相交后所得的有一个公共顶点且有一条公共边的两…

一篇SEO指南:新手如何从零开始优化自己的网站

在如今的数字时代&#xff0c;拥有一个优化良好的网站对于任何企业或个人来说都是至关重要的。但是&#xff0c;对于SEO新手来说&#xff0c;如何从零开始优化自己的网站可能是一项看似艰巨的任务。在本文中&#xff0c;我们将为您提供一份SEO指南&#xff0c;帮助您了解从零开…

C++之STL顺序容器

目录 一、STL容器简介 二、顺序容器 一、STL容器简介 STL容器是一个通用的数据结构&#xff0c;可以处理不同数据类型&#xff0c;包含基本的数据结构如链表、堆栈、队列等。可以分为顺序容器、关联容器、 容器适配器、特殊容器。本篇博客将简要介绍一下STL容器中的顺序容器…

Mysql 学习(八)单表查询方法 一

单表访问方法 前面几节我们了解 innodb 的底层数据结构的设计&#xff0c;究其本源我们其实是为了更好的理解如何查询&#xff0c;并且如何使得查询语句更加快速的问题&#xff0c;这节我们就来好好讲一讲首先我们先来创建一个表 CREATE TABLE index_value_table (id INT NOT…