Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js

 更新时间:2016年07月10日 08:41:07   投稿:lijiao  
这篇文章主要介绍了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属性的设置),这样即使图片的大小变化了,也可以显示图片的主要内容,而且图片比率可以保持不变。 

来源:顶求网

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

Bootstrap学习教程

Bootstrap实战教程

Bootstrap插件使用教程

以上就是所有内容,希望能对大家有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于JavaScript编写8086汇编指令查询工具

    基于JavaScript编写8086汇编指令查询工具

    汇编语言还是在大学的时候学的,汇编语言有个特点是语句短、条数多,很难可以把全部指令都背熟。本文就来用JavaScript编写一个8086汇编指令查询工具,希望对大家有所帮助
    2023-02-02
  • ES6中Proxy与Reflect实现重载(overload)的方法

    ES6中Proxy与Reflect实现重载(overload)的方法

    这篇文章主要介绍了ES6中Proxy与Reflect实现重载(overload)的方法,分析了重载的原理及使用Proxy和Reflect来实现重载的操作步骤与相关技巧,需要的朋友可以参考下
    2017-03-03
  • JavaScript设置弹出式独立窗口页面和window的方法举例详解

    JavaScript设置弹出式独立窗口页面和window的方法举例详解

    window.open是网页中经常遇到的弹出窗口代码,不是网络中比较反感的那类弹出代码,下面这篇文章主要给大家介绍了关于JavaScript设置弹出式独立窗口页面和window的方法,需要的朋友可以参考下
    2024-01-01
  • javascript,jquery闭包概念分析

    javascript,jquery闭包概念分析

    偶尔听人说javascript闭包,让我联想起以前学编译原理和数字逻辑里讲的闭包,以前上课讲的闭包很难懂,而且含有递归的意思在里面,现在不想再查看里面的闭包概念。
    2010-06-06
  • 浅谈Webpack 持久化缓存实践

    浅谈Webpack 持久化缓存实践

    这篇文章主要介绍了浅谈Webpack 持久化缓存实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • JavaScript实现横向滑出的多级菜单效果

    JavaScript实现横向滑出的多级菜单效果

    这篇文章主要介绍了JavaScript实现横向滑出的多级菜单效果,涉及JavaScript数学运算及页面元素样式动态变换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • javascript 网页进度条简单实例

    javascript 网页进度条简单实例

    这篇文章主要介绍了javascript 网页进度条简单实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • javascript随机之洗牌算法深入分析

    javascript随机之洗牌算法深入分析

    这篇文章主要介绍了javascript随机之洗牌算法深入分析,同时提供了一个完整实例,需要的朋友可以参考下
    2014-06-06
  • BootStrap daterangepicker 双日历控件

    BootStrap daterangepicker 双日历控件

    这篇文章主要介绍了BootStrap daterangepicker 双日历控件,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • CommonJS与ES6 Module的使用区别分析

    CommonJS与ES6 Module的使用区别分析

    这篇文章主要为大家介绍了CommonJS与ES6 Module的使用区别分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04

最新评论