欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dropify.js圖片寬高自適應(yīng)的方法

 更新時(shí)間:2017年11月27日 16:30:28   作者:上帝與我同幻想  
本篇文章主要介紹了Dropify.js圖片寬高自適應(yīng)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近發(fā)現(xiàn)了一個(gè)比較好用的圖片上傳插件, Dropify.js ,具體使用方法挺簡單的,這里就不介紹了。

但是由于我希望圖片樣式是寬度固定,高度自適應(yīng)的,而這個(gè)插件好像無法自適應(yīng)高度,只能在固定的區(qū)域內(nèi)顯示圖片,看的非常不舒服。

看了一下插件的源碼,發(fā)現(xiàn)可以在預(yù)覽圖片時(shí),調(diào)整圖片高度。需要修改css和js,下面貼下代碼。

<!-- 插件容器 -->
<div class="blog-title-img clear">
  <input type="file" class="dropify" data-max-file-size-preview="3M" data-allowed-file-extensions="jpeg jpg png gif bmp">
</div>

css可以寫在自己的css文件中:

/*這個(gè)是圖片的容器*/
.title-img{ 
  width:660px;
  margin:40px auto 0;
}

/*下面是需要修改的樣式*/
.dropify-wrapper .dropify-preview{
  padding:0 !important;
}
.dropify-wrapper .dropify-preview .dropify-render img{
  width:100%;
  height:auto;
  -webkit-transform:none;
  transform:none;
  top:0;
}
.dropify-wrapper{
  border:0;
  background-color:#f7f8f9;
  padding:0!important;
}

下面是js需要修改的部分,打開源碼文件,找到Dropify.prototype.setPreview方法

Dropify.prototype.setPreview = function(previewable, src)
{
  this.wrapper.removeClass('has-error').addClass('has-preview');
  this.filenameWrapper.children('.dropify-filename-inner').html(this.file.name);
  var render = this.preview.children('.dropify-render');
  this.hideLoader();
  if (previewable === true) {

    // 存一下wrapper,wrapper.width()是css中自己設(shè)置的固定的寬,我設(shè)置的是660px
    var wrapper = this.wrapper; 

    // 首次上傳時(shí),獲取圖片真實(shí)的寬和高,按比例計(jì)算顯示時(shí)圖片的高
    var height = (wrapper.width() / this.file.width) * this.file.height; 

    // 如果初始化時(shí)使用默認(rèn)圖片,則file.height不存在,需要用另一種方式獲取圖片真實(shí)的寬和高
    if(!height){
        // 新建一個(gè)image,將圖片路徑賦給新的image
      var i = new Image(), src = Comm.getRoot() + src;
        i.src = src;

        // 這里需要等圖片加載完,才能獲取到準(zhǔn)確的寬和高。
        $(i).load(function(){

          // 計(jì)算方式和上面相同
          height = (wrapper.width() / i.width) * i.height;
          wrapper.height(height);
        });
    } else {
      wrapper.height(height);
    }
    
    var imgTag = $('<img />').attr('src', src);
    
    if (this.settings.height) {
      imgTag.css("max-height", this.settings.height);
    }
    imgTag.appendTo(render);
  } else {
    $('<i />').attr('class', 'dropify-font-file').appendTo(render);
    $('<span class="dropify-extension" />').html(this.getFileType()).appendTo(render);
  }
  this.preview.fadeIn();
};

改造完成后,不管上傳還是默認(rèn)圖片,都可以寬度固定,高度自適應(yīng)了。改造完成后效果:

改造完成

改造完成

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Layui組件Table綁定行點(diǎn)擊事件和獲取行數(shù)據(jù)的方法

    Layui組件Table綁定行點(diǎn)擊事件和獲取行數(shù)據(jù)的方法

    今天小編就為大家分享一篇Layui組件Table綁定行點(diǎn)擊事件和獲取行數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • JS實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖

    JS實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口實(shí)例

    JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口實(shí)例

    這篇文章主要介紹了JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口,實(shí)例分析了javascript實(shí)現(xiàn)可拖動(dòng)的div層相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 一文詳解JavaScript數(shù)組對(duì)象和字符串對(duì)象

    一文詳解JavaScript數(shù)組對(duì)象和字符串對(duì)象

    這篇文章主要介紹了JavaScript數(shù)組對(duì)象和字符串對(duì)象,文章中有詳細(xì)的代碼示例,對(duì)學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以參考一下
    2023-04-04
  • es6中的import導(dǎo)入模塊 和 export導(dǎo)出模塊詳解

    es6中的import導(dǎo)入模塊 和 export導(dǎo)出模塊詳解

    require 是 CommonJS 模塊系統(tǒng)中用于導(dǎo)入模塊的關(guān)鍵字,采用同步加載方式;而 import 和 export 是 ES6 模塊系統(tǒng)中用于導(dǎo)入和導(dǎo)出模塊的關(guān)鍵字,采用靜態(tài)加載方式,并且支持異步加載,這篇文章主要介紹了es6中的import導(dǎo)入模塊 和 export導(dǎo)出模塊,需要的朋友可以參考下
    2023-11-11
  • 基于Express框架使用POST傳遞Form數(shù)據(jù)

    基于Express框架使用POST傳遞Form數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了基于Express框架使用POST傳遞Form數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 今天,小程序正式支持 SVG

    今天,小程序正式支持 SVG

    這篇文章主要介紹了小程序支持SVG,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js實(shí)現(xiàn)簡易的英漢詞典

    js實(shí)現(xiàn)簡易的英漢詞典

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡易的英漢詞典,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • layui實(shí)現(xiàn)左側(cè)菜單點(diǎn)擊右側(cè)內(nèi)容區(qū)顯示

    layui實(shí)現(xiàn)左側(cè)菜單點(diǎn)擊右側(cè)內(nèi)容區(qū)顯示

    這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)左側(cè)菜單點(diǎn)擊右側(cè)內(nèi)容區(qū)顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • JS加密插件CryptoJS實(shí)現(xiàn)的DES加密示例

    JS加密插件CryptoJS實(shí)現(xiàn)的DES加密示例

    這篇文章主要介紹了JS加密插件CryptoJS實(shí)現(xiàn)的DES加密,結(jié)合實(shí)例形式分析了javascript使用CryptoJS插件進(jìn)行des加密的各種常見模式使用技巧,需要的朋友可以參考下
    2018-08-08

最新評(píng)論