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

JavaScript實現(xiàn)瀑布流圖片效果

 更新時間:2021年09月17日 08:27:39   作者:jasonduanmu  
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)瀑布流圖片效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了js實現(xiàn)瀑布流圖片效果的具體代碼,供大家參考,具體內容如下

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    #wrap{
      position: relative;
      list-style: none;
      margin: 0 auto;
    }
    #wrap li{
      width: 200px;
      font-size: 1.5rem;
      position: absolute;
      background-color: #CCCCCC;
      -webkit-transition: all 2s;
    }
    #wrap li div{
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
  </style>
</head>
<body>
<ul id="wrap"></ul>
</body>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
function randomFunction(max , min){
  return parseInt(Math.random() * (max - min)) + min;
}
var wrapUL = document.getElementById("wrap");
var width = 200;
var rightPadding = 10;
var hs = [];
var num = 0;
function setLiPos(bol){
  var lis = wrapUL.getElementsByTagName("li");
  var windowBody = document.documentElement.clientWidth;
  var cols = parseInt(windowBody / width);
  wrapUL.style.width = cols * (width + rightPadding) + "px";
  var arrT = [];
  for (var i = 0; i < cols; i++) {
    arrT[i] = 0;
  }
  function createLi(index){
    var li = lis[index]||document.createElement("li");
     
    var h = hs[index] || randomFunction(100, 300);
    li.style.height = h + "px";
    if(bol){
      hs.push(h);
    }
    var min = arrT[0];
    var minIndex = 0;
    for (var i = 0; i < arrT.length; i++) {
      if(min > arrT[i]){
        min = arrT[i];
        minIndex = i;
      }
    }
    li.style.top = arrT[minIndex] + "px";
    li.style.left = minIndex * (width + rightPadding) + "px"; arrT[minIndex] += (h + rightPadding);
    bol&&wrapUL.appendChild(li);
  }
  for(var i = 0; i < 20; i++){
    if(bol){
      num++;
    }
    createLi(i);
  }
}
setLiPos(true);
window.onresize = function(){
  setLiPos(false);
}
});
</script>
<script type="text/javascript">
$(function(){
  var imgArr = ["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg"];
  $("li").each(function(index, el) {
    var n = RandomNumBoth(0,imgArr.length-1);
    var imgsrc = imgArr[n];
    $(this).html("<div><img onload='loadImage()' src='"+imgsrc+"'></div>");
  });
});
function loadImage(){
  $("img").each(function(index, el) {
    var a=$(this).width(),
    b=$(this).height(),
    pa = $(this).parent().width(),
    pb = $(this).parent().height(),
    e=a/b, //圖片寬高比 3
    pe=pa/pb; //承載圖片容器寬高比 
    if(e>=pe){
      $(this).css({height:"100%",width:"auto"});
      var imgW = $(this).width(),
      iW = $(this).parent().width(),
      w = -(imgW - iW)/2;
      $(this).css('marginLeft',w);
    }else{
      $(this).css({width:"100%",height:"auto"});
      var imgH = $(this).height(),
      iH = $(this).parent().height(),
      h = -(imgH - iH)/2;
      $(this).css('marginTop',h);
    }
  });
}
function RandomNumBoth(Min,Max){
   var Range = Max - Min;
   var Rand = Math.random();
   var num = Min + Math.round(Rand * Range);
   return num;
}
</script>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入理解javascript原型鏈和繼承

    深入理解javascript原型鏈和繼承

    這篇文章主要介紹了javascript原型鏈和繼承的概念,以及使用原型鏈實現(xiàn)繼承、經(jīng)典繼承、組合式繼承、寄生組合式繼承。非常實用,是篇非常不錯的文章,這里推薦給大家。
    2014-09-09
  • 微信小程序實現(xiàn)跳轉的幾種方式總結(推薦)

    微信小程序實現(xiàn)跳轉的幾種方式總結(推薦)

    這篇文章主要介紹了微信小程序跳轉方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • js正則表達exec與match的區(qū)別說明

    js正則表達exec與match的區(qū)別說明

    本篇文章主要是對js正則表達exec與match的區(qū)別進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • Bootstrap CSS組件之大屏幕展播

    Bootstrap CSS組件之大屏幕展播

    這篇文章主要介為大家詳細紹了Bootstrap CSS組件之大屏幕展播的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • javascript實現(xiàn)簡單打字游戲

    javascript實現(xiàn)簡單打字游戲

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)簡單打字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 解決在Bootstrap模糊框中使用WebUploader的問題

    解決在Bootstrap模糊框中使用WebUploader的問題

    這篇文章主要介紹了在Bootstrap模糊框中使用WebUploader的問題及解決方法,,需要的朋友可以參考下
    2018-03-03
  • JavaScript中常見的類型判斷方法和區(qū)別詳解

    JavaScript中常見的類型判斷方法和區(qū)別詳解

    在JavaScript中,我們經(jīng)常需要對數(shù)據(jù)的類型進行判斷,以便進行相應的處理,本文將介紹JavaScript中常見的類型判斷方法,包括typeof、instanceof、Object.prototype.toString() 以及Array.isArray(),并且會詳細解釋它們之間的區(qū)別,需要的朋友可以參考下
    2023-11-11
  • Javascript變量的作用域和作用域鏈詳解

    Javascript變量的作用域和作用域鏈詳解

    這篇文章主要介紹了Javascript變量的作用域和作用域鏈詳解,本文用一個實例和運行結果來講解這兩個知識,需要的朋友可以參考下
    2015-04-04
  • 在小程序中集成redux/immutable/thunk第三方庫的方法

    在小程序中集成redux/immutable/thunk第三方庫的方法

    這篇文章主要介紹了在小程序中集成redux/immutable/thunk第三方庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 開啟BootStrap學習之旅

    開啟BootStrap學習之旅

    當下最流行的前端開發(fā)框架Bootstrap,可大大簡化網(wǎng)站開發(fā)過程,從而深受廣大開發(fā)者的喜歡,你如果也喜歡Bootstrap前端開發(fā)框架,不要錯過這次旅行
    2016-05-05

最新評論