Files
wordpress-theme-aksrt/assets/js/runtime/waterfall.min.js
T
kate522 9375b1c30c refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
  js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
  fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
  路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
  window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
  .zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)

验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
2026-08-22 16:16:30 +08:00

1 line
1.3 KiB
JavaScript

$.fn.waterfall=function(t){function a(t){var a=i.hGap,e=i.vGap,n=t.find(i.itemSelector);return n.length&&null===a&&(a=parseInt(t.data("h-gap")),a||(a=parseInt(n.eq(0).css("margin-left"))+parseInt(n.eq(0).css("margin-right")))),n.length&&null===e&&(e=parseInt(t.data("v-gap")),e||(e=parseInt(n.eq(0).css("margin-top"))+parseInt(n.eq(0).css("margin-bottom")))),{horizontalGap:a,verticalGap:e}}function e(t){if(!t.length)return;var e=t.find(i.itemSelector);if(!e.length)return;const n=t.width(),r=e.eq(0).outerWidth(),o=Math.floor(n/r),{horizontalGap:l,verticalGap:s}=a(t),c=e.eq(0).offset().top-t.offset().top-parseInt(e.eq(0).css("margin-top"));let f=new Array(o).fill(c);e.each(function(){const t=$(this),a=Math.min(...f),e=f.indexOf(a),n=e*r+l*e,i=a+(a>0?s:0);t.css({position:"absolute",left:"0",top:"0",transform:"translate3d("+n+"px,"+i+"px,0)"}).addClass("waterfall-item"),f[e]+=t.height()+s}),t.css("height",Math.max(...f)+s+"px")}var n={hGap:null,vGap:null,itemSelector:".waterfall-item",containerSelector:".waterfall-container"},i=$.extend(n,t);this.each(function(){var t=$(this);e(t),t.data("waterfall-init")||(t.data("waterfall-init",!0),$(window).on("resize",debounce(function(){e(t)},100)),t.on("lazyloaded","img",debounce(function(){e(t)},50)),t.on("post_ajax.ed",function(){e(t)}))})};