修改SlidesJs 3.0使其支持自适应更换图片

SlidesJs 3.0是一个支持自适应滑动的jQuery插件,支持移动设备触摸滑动和CSS过渡效果,使用也简单,支持IE7及以上的高级浏览器。

该幻灯片插件除了上面的特色外,还支持循环、自动播放、图片预加载、自动生成分页等常规的滚动插件设置。

插件使用方法:

<!doctype html>
<head>
<style>
/* Prevents slides from flashing */
#slides {
display:none;
}
</style>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="jquery.slides.min.js"></script>

<script>
$(function(){
$("#slides").slidesjs({
width: 940,
height: 528
});
});
</script>
</head>
<body>
<div id="slides">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
<img src="http://placehold.it/940x528">
</div>
</body>

本文要讲的是如何优化在移动设备的使用

由于使用这个插件在移动设备时加载的图片跟PC上的图片一样大,图片会压缩变形,并且图片太大明显浪费用户的流量,影响网页的加载。

同时也有可能移动设备上的图片跟PC上的图片大小不是同一个比例,而该插件是根据设定的长和宽的比例来缩放,不符合我们的需求。

本人修改了这个插件的一些设置,并加入了一些参数。

参数 默认值 描述
resizeImg false 自适应图片是否有效:默认为否,若为真,则移动端和PC端需加不同图片
mSize 640 窗口宽度小于这个值的使用移动端图片
mWidth 640 移动端的图片宽度
mHeight 340 移动端的图片高度
pcWidth 1170 PC端的图片高度
pcHeight 340 PC端的图片高度

如果是不需要考虑移动端与PC端使用不同的图片,则插件的使用情况跟原来的插件一样。

如果需要使用移动端与PC端不同图片,则需要加以下代码,图片的图片和高度根据你的情况更改。

<script>
$(function() {
$('#slides').slidesjs({
width: 940,
height: 528,
difImg: true,//必须,其他根据图片尺寸情况更改
mSize: 610,
mWidth: 611,
mHeight: 340,
pcWidth : 1134,
pcHeight : 340
});
});
</script>

HTML代码需要在图片上加上data-mobile和data-pc的图片地址,默认可以填mobile的地址。

<div id="slides">
<img src="img/b1.jpg" alt="" data-mobile="img/b1.jpg" data-pc="img/banner1.jpg">
<img src="img/b2.jpg" alt="" data-mobile="img/b2.jpg" data-pc="img/banner2.jpg">
<img src="img/b3.jpg" alt="" data-mobile="img/b3.jpg" data-pc="img/banner3.jpg">
</div>

我已经将插件fork并更改上传到我的github了,你可以到这里查看我的代码和演示:

https://github.com/kujian/Slides/tree/SlidesJS-3

如果这个插件对你有用,欢迎Star和Fork,你的支持是我们继续努力的动力。

演示 缩放窗口大小到600以下会发现图片已经变了

 


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流