当前位置 : 主页 > WEB开发 > 正文

提取图片主颜色作背景色自动换色JS

重庆seo[原创]2016-12-24阅读()JSA+ / A-

       网站的全通轮播图的方法很多,有些图片做成非常宽(宽大于1200px)。其实没必要得很大,京东、淘宝等平台的轮播图采用JS自动获取图片的主颜色作背景色。这属于图片优化细节,有如下优点

①最大程度地减小图片尺寸和大小,减少网页加载时间;

②用户体验自适应好,图片中文字大小合适并不出现横滚动条;

③便于编辑管理,采用新的图片不需要更改模板CSS样式;

④主流浏览器都兼容性。

全通轮播图效果展示

       参考重庆装修公司www.v25j.com主页轮播图。

       运用jquery.adaptive-backgrounds.js用来实现这个功能,这个插件能提取图片的主色,并把它作为其父元素的背景色。

       另外一种实现方法参考《DedeCMS列表页实现隔行多行随意换色》。

结合SuperSlide,HTML实例

       对应的JS下载链接:http://pan.baidu.com/s/1gfzDOiB 密码:yu55

<!doctype html>
<html>
<head>
<title>自动获取图片主颜色作轮播图背景色(superslide)</title>
<script type="text/javascript" src='jquery.js'></script>
<script type="text/javascript" src="jquery.SuperSlide.2.1.1.js"></script>
<script type="text/javascript" src='jquery.adaptive-backgrounds.js'></script>
<script type="text/javascript">
 $(document).ready(function(){
  $.adaptiveBackground.run()
 });
</script>
<style type="text/css">
 .img-wrap{width:100%;height:400px;text-align:center}
 .img-wrap img{width:500px}
 .slideBox{width:710px;height:230px;overflow:hidden;position:relative;border:1px solid #ddd}
 .slideBox .hd{ height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1}
 .slideBox .hd ul{overflow:hidden;zoom:1;float:left}
 .slideBox .hd ul li{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff;cursor:pointer}
 .slideBox .hd ul li.on{background:#f00;color:#fff}
 .slideBox .bd{position:relative;height:100%;z-index:0}
 .slideBox .bd li{zoom:1;vertical-align:middle}
 .slideBox .bd img{width:450px;height:230px;display:block}
</style>
</head>
<body>
 <div id="slideBox" class="slideBox">
 <div class="hd">
  <ul><li>1</li><li>2</li><li>3</li></ul>
 </div>
 <div class="bd"> 
  <ul> 
   <li class='img-wrap'><img id="img" src="images/1.jpg" data-adaptive-background></li>
   <li class='img-wrap'><img id="img" src="images/2.jpg" data-adaptive-background></li>
   <li class='img-wrap'><img id="img" src="images/3.jpg" data-adaptive-background></li>
  </ul>
 </div>
 <script type="text/javascript">jQuery(".slideBox").slide({mainCell:".bd ul",autoPlay:true});</script>
</body>
</html>

    本文地址:https://www.vi586.com/web/344.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,转载请保留出处!别浪费时间复制粘贴,早就提交URL了。

    赞(6)