Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
来源: 阅读:762 次 日期:2016-07-29 14:05:12
温馨提示: 小编为您整理了“Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js”,方便广大网友查阅!

这篇文章主要介绍了Bootstrap轮播插件中图片变形的终极解决方案,使用jqthumb.js,感兴趣的小伙伴们可以参考一下

在顶求网的首页中我使用了BootStrap的轮播(carousel)插件来展示文章中的图片。我在程序中自动抓取文章的第一张图片作为该轮播控件中要显示的图片,由于文章的图片大小不一,而轮播插件的大小基本是固定的,所以展示的时候图片出现了变形。在网上找了很多中方式也没有解决(过程曲折,不再赘述),直到找到了这款Jquery的缩放插件——jqthumb.js.下面来看看如何使用它以及如何利用它来控制轮播控件中图片的大小,而且能够做到不变形,可以显示图片的主要部分(类似于微信朋友圈的图片混排效果——不知道大家有没有注意,在微信朋友圈中无论你发的图片的比率是什么,总能够被完美的排列,而不会发生变形)。首先我们看看Bootstrap的Carousel的html代码: 

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">

<!-- Wrapper for slides -->

 <div class="carousel-inner" role="listbox">

   <div class="item active">

   <a href="包含图片一文章路径">

     <img src="图片一路径" alt="图片一" onload="DrawImage(this)"/></a>

     <div class="carousel-caption">

        <h4 class="alpha">

          <a style="color:white;" href="包含图片一文章路径">图片一标题</a>

        </h4>

       </div>

   </div>

   <div class="item">

   <a href="包含图片二文章路径">

     <img src="图片二路径" alt="图片二" onload="DrawImage(this)"/>

   </a>

   <div class="carousel-caption">

        <h4 class="alpha">

          <a style="color:white;" href="包含图片二文章路径">图片二标题</a>

        </h4>

       </div>

   </div>

   <div class="item">

     <a href="包含图片三文章路径">

       <img src="图片三路径" alt="图片三" onload="DrawImage(this)"/>

      </a>

      <div class="carousel-caption">

        <h4 class="alpha">

          <a style="color:white;" href="包含图片三文章路径">图片三标题</a>

        </h4>

       </div>

   </div>

 </div>

由上述代码可以看到,每个图片(img)在加载(onload)的时候都调用了一个函数DrawImage,在这个函数中我们就可以调用jqthumb.js的方法来控制图片的大小了,注意该函数一定要加在上述HTML代码前,否则第一次加载的时候控制图片大小会失败(因为页面加载时序的原因),函数代码如下: 

<!--导入插件-->

<script type="text/javascript" src="/static/plugins/thumb/js/jqthumb.js"></script>

<script>

function DrawImage(hotimg)

{

  $(hotimg).jqthumb({

  classname   : 'jqthumb',

      width     : '100%',

      height     : '300px',

      position    : { y: '50%', x: '50%'},

      zoom      : '1',

      method     : 'auto',

  });

}

</script>

在该函数中我们调用了jqthumb方法来定义一个宽度和轮播插件相同高度为300px的原图片的缩略图,该缩略图是由图片的中心开始生成的(注意其position属性的设置),这样即使图片的大小变化了,也可以显示图片的主要内容,而且图片比率可以保持不变。 

以上就是所有内容,希望能对大家有所帮助

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map