waterfall自适应瀑布流

所属分类:UI-布局

 34925  395  查看评论 (1)
分享到微信朋友圈
X
waterfall自适应瀑布流 ie兼容9

temple:(假如{{}}渲染冲突,可以在front.js中,正则里修改成别的字符)

具体自适应:(在全局函数中定义全局变量,可以是固定数值,也可以通过计算获得)

var MIN_COLUMN_COUNT = 2; // minimal column count
var COLUMN_WIDTH = 152.5;   // cell width: 190, padding: 14 * 2, border: 1 * 2
var CELL_PADDING = 26;    // cell padding: 14 + 10, border: 1 * 2
var GAP_HEIGHT = 5;      // vertical gap between cells
var GAP_WIDTH = 5;       // horizontal gap between cells
var THRESHOLD = 2000;     // determines whether a cell is too far away from viewport (px)

渲染方法:

var appendCells = function(num) {
   if(loading) {
     // Avoid sending too many requests to get new cells.
     return;
   }
   var xhrRequest = new XMLHttpRequest();
   var fragment = document.createDocumentFragment();
   var cells = [];
   var images;
   xhrRequest.open('GET', 'json.php?n=' + num, true);
   xhrRequest.onreadystatechange = function() {
     if(xhrRequest.readyState == 4 && xhrRequest.status == 200) {
       images = JSON.parse(xhrRequest.responseText);
       for(var j = 0, k = images.length; j < k; j++) {
         var cell = document.createElement('div');
         cell.className = 'cell pending';
         cell.tagLine = images[j].title;
         cells.push(cell);
         console.log(images[j])
         front(cellTemplate, images[j], cell);
         fragment.appendChild(cell);
       }
       cellsContainer.appendChild(fragment);
       loading = false;
       adjustCells(cells);
     }
   };
   loading = true;
   xhrRequest.send(null);
 };

如果使用appendCells 方法,最后isGithubDemo请改为false:

// If there's space in viewport for a cell, request new cells.
if (viewportBottom > getMinVal(columnHeights)) {
    // Remove the if/else statement in your project, just call the appendCells function.
    if (isGithubDemo) {
        appendCellsDemo(columnCount);
    } else {
        appendCells(columnCount);
    }
}
相关插件-布局

基于 Bootstrap 的响应式电商前台模板

基于 Bootstrap 的响应式电商前台模板,7种模板可供选择
  布局
 53842  640

bootstrap darkvelvet模板

这是一款黑色风格的bootstrap主题,非常nice
  布局
 32801  471

Delta html5模板 Bootstrap 响应式网站前端源码

一个优秀的展示网站为你产品的销售带来更多的亮点,模板简单明了的,只需要简单的更换内容,你的网站就可以直接上线运营。
  布局
 31099  436

响应式教育培训机构HTML5模板

本模板是一个多页和多用途HTML模板适合学校、教育学校、幼儿园、小学、中学、大学、学术和教育。
  布局
 51092  624

讨论这个项目(1)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    Lemonsu2012 0
    2020/6/19 10:23:44
    你好,这个项目中adjustCells有一个1S的延时,如果图片1S中还没有加载到宽高,这里就有一个bug,图片的高度只有20左右,不能完全显示,有什么好的办法解决这个问题吗 回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复