mip-image-slider

mip-image-slider 是一种将两张 mip-img 图片对比的组件。用户可以点击或拖动移动条来比较图片。

标题 内容
类型 通用
支持布局 fixed-height,responsive
所需脚本 https://c.mipcdn.com/static/v2/mip-image-slider/mip-image-slider.js

示例

responsive 布局

  1. <mip-image-slider
  2. layout="responsive"
  3. width="600"
  4. height="400">
  5. <mip-img
  6. src="https://www.mipengine.org/static/img/sample_01.jpg">
  7. </mip-img>
  8. <mip-img
  9. src="https://www.mipengine.org/static/img/sample_02.jpg">
  10. </mip-img>
  11. </mip-image-slider>

添加说明内容

  1. <mip-image-slider
  2. layout="responsive"
  3. width="600"
  4. height="400">
  5. <mip-img
  6. src="https://www.mipengine.org/static/img/sample_01.jpg">
  7. </mip-img>
  8. <mip-img
  9. src="https://www.mipengine.org/static/img/sample_02.jpg">
  10. </mip-img>
  11. <div first>这是第一</div>
  12. <div second>这是第二</div>
  13. </mip-image-slider>

添加自定义箭头

  1. <style type="text/css">
  2. .mip-image-slider-arrow-left {
  3. width: 10px;
  4. height: 20px;
  5. background-size: 10px 20px;
  6. margin-right: 10px;
  7. background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='20' viewBox='0 0 10 20'%3e%3cpolygon points='10,0 0,10 10,20' style='fill:white' /%3e%3c/svg%3e");
  8. }
  9. .mip-image-slider-arrow-right {
  10. width: 10px;
  11. height: 20px;
  12. background-size: 10px 20px;
  13. margin-left: 10px;
  14. background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='20' viewBox='0 0 10 20'%3e%3cpolygon points='0,0 10,10 0,20' style='fill:white' /%3e%3c/svg%3e");
  15. }
  16. </style>
  17. <mip-image-slider
  18. layout="responsive"
  19. width="600"
  20. height="400">
  21. <mip-img
  22. src="https://www.mipengine.org/static/img/sample_01.jpg">
  23. </mip-img>
  24. <mip-img
  25. src="https://www.mipengine.org/static/img/sample_02.jpg">
  26. </mip-img>
  27. </mip-image-slider>

初始化移动条的位置

  1. <mip-image-slider
  2. layout="responsive"
  3. width="600"
  4. height="400"
  5. initial-slider-position="0.2">
  6. <mip-img
  7. src="https://www.mipengine.org/static/img/sample_01.jpg">
  8. </mip-img>
  9. <mip-img
  10. src="https://www.mipengine.org/static/img/sample_02.jpg">
  11. </mip-img>
  12. </mip-image-slider>

设置步幅大小

  1. <mip-image-slider
  2. tabindex="0"
  3. layout="responsive"
  4. width="600"
  5. height="400"
  6. step-size="0.2">
  7. <mip-img
  8. src="https://www.mipengine.org/static/img/sample_01.jpg">
  9. </mip-img>
  10. <mip-img
  11. src="https://www.mipengine.org/static/img/sample_02.jpg">
  12. </mip-img>
  13. </mip-image-slider>

属性

width

说明:宽度,不是实际宽度,与高度属性配合来设置图片比例,详见组件布局 必选项:是类型:数字单位:无默认值:无

height

说明:高度,不是实际高度,与宽度属性配合来设置图片比例,详见组件布局 必选项:是类型:数字单位:无默认值:无

disable-hint-reappear

说明:箭头提示在用户点击之后会消失,但是随着视口离开当前位置又返回,则箭头提示会重新出现,如果想要禁止这种效果,让箭头不再反复出现,可使用这个属性。 必选项:否类型:字符串或空取值:"", disable-hint-reappear 单位:无默认值:无

initial-slider-position

说明:移动条到初始位置。 必选项:否类型:数字取值:0-1 单位:无默认值:0

step-size

说明:使用键盘左右箭头来移动移动条时的步幅。 必选项:否类型:数字取值:0-1 单位:无默认值:0.1

API

seekTo

说明:使移动条到指定位置

示例:

  1. <mip-image-slider
  2. layout="responsive"
  3. width="600"
  4. height="400"
  5. id="slider">
  6. <mip-img
  7. src="https://www.mipengine.org/static/img/sample_01.jpg">
  8. </mip-img>
  9. <mip-img
  10. src="https://www.mipengine.org/static/img/sample_02.jpg">
  11. </mip-img>
  12. </mip-image-slider>
  13. <div on="tap:slider.seekTo(0.4)" style="margin: 10px; ">
  14. <button style="border: 1px solid #e1e2e3; padding: 5px;">跳转到 40% 的位置</button>
  15. </div>

注意事项

  • 说明文字的样式需要自定义设置,默认都是在左上角的(也就是没有样式)
  • 箭头提示的样式可以通过重写 .mip-image-slider-arrow-left.mip-image-slider-arrow-right 来实现自定义
  • 使用键盘并设置步幅大小时,需要设置 tabindex="0" 并且使用键盘的 tab 键聚焦到这个组件,不然无法生效。

原文: https://www.mipengine.org/v2/components/layout/mip-image-slider.html