Commit 61f22eca by lmf

首页页面加载分屏实现

parent 35a34c6b
...@@ -16,7 +16,7 @@ foreach($ids as $pid): ...@@ -16,7 +16,7 @@ foreach($ids as $pid):
?> ?>
<div class="flash-sale-item"> <div class="flash-sale-item">
<a href="<?php echo $product->getProductUrl()?>" > <a href="<?php echo $product->getProductUrl()?>" >
<img src="<?php echo $productImage;?>" /></a> <img data-src="<?php echo $productImage;?>" alt="Loading..." /></a>
<div class="flash-sale-info"> <div class="flash-sale-info">
<a class="product-name" href="<?php echo $product->getProductUrl()?>"><?php echo $product->getName();?></a> <a class="product-name" href="<?php echo $product->getProductUrl()?>"><?php echo $product->getName();?></a>
<?= $blocklist->getReviewsSummaryHtml($product, $templateType) ?> <?= $blocklist->getReviewsSummaryHtml($product, $templateType) ?>
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
this._obj.init = function(){ this._obj.init = function(){
var str = ``; var str = ``;
for(var i=0;i<this.img.length;i++){ for(var i=0;i<this.img.length;i++){
str += `<a href="${this.href[i]}"><img src="${this.img[i]}"></a>` str += `<a href="${this.href[i]}"><img alt="Loading..." data-src="${this.img[i]}"></a>`
} }
that.html(`<div class="imgbox">${str}</div>`).css({ that.html(`<div class="imgbox">${str}</div>`).css({
"width":"100%", "width":"100%",
......
...@@ -26,7 +26,7 @@ foreach($ids as $pid): ...@@ -26,7 +26,7 @@ foreach($ids as $pid):
?> ?>
<div class="flash-sale-item"> <div class="flash-sale-item">
<a href="<?php echo $product->getProductUrl()?>" > <a href="<?php echo $product->getProductUrl()?>" >
<img src="<?php echo $productImage;?>" /></a> <img data-src="<?php echo $productImage;?>" alt="Loading..." /></a>
<div class="flash-sale-info"> <div class="flash-sale-info">
<a class="product-name" href="<?php echo $product->getProductUrl()?>"><?php echo $product->getName();?></a> <a class="product-name" href="<?php echo $product->getProductUrl()?>"><?php echo $product->getName();?></a>
<?= $blocklist->getReviewsSummaryHtml($product, $templateType) ?> <?= $blocklist->getReviewsSummaryHtml($product, $templateType) ?>
......
...@@ -7,6 +7,34 @@ ...@@ -7,6 +7,34 @@
?> ?>
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('public_footer')->toHtml();?> <?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('public_footer')->toHtml();?>
<script> <script>
const imgs = document.getElementsByTagName("img");
const viewHeight =
window.innerHeight || document.documentElement.clientHeight;
let num = 0;
function lazyload() {
for (let i = num; i < imgs.length; i++) {
let distance = viewHeight - imgs[i].getBoundingClientRect().top;
if (distance >= 0) {
imgs[i].src = imgs[i].getAttribute("data-src");
num = i + 1;
}
}
}
function debounce(fn, delay = 500) {
let timer = null;
return function (...args) {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
fn.call(this, args);
}, delay);
};
}
window.onload = lazyload;
window.addEventListener("scroll", debounce(lazyload, 600), false);
require([ require([
'jquery' 'jquery'
], function ($) { ], function ($) {
......
...@@ -25,7 +25,7 @@ $logoHeight = $logoSizeResolver !== null && $logoSizeResolver->getHeight() ...@@ -25,7 +25,7 @@ $logoHeight = $logoSizeResolver !== null && $logoSizeResolver->getHeight()
href="<?= $block->escapeUrl($block->getUrl('')) ?>" href="<?= $block->escapeUrl($block->getUrl('')) ?>"
title="<?= $block->escapeHtmlAttr($storeName) ?>" title="<?= $block->escapeHtmlAttr($storeName) ?>"
aria-label="store logo"> aria-label="store logo">
<img src="<?= $block->escapeUrl($block->getLogoSrc()) ?>" <img alt="Loading..." data-src="<?= $block->escapeUrl($block->getLogoSrc()) ?>"
title="<?= $block->escapeHtmlAttr($block->getLogoAlt()) ?>" title="<?= $block->escapeHtmlAttr($block->getLogoAlt()) ?>"
alt="<?= $block->escapeHtmlAttr($block->getLogoAlt()) ?>" alt="<?= $block->escapeHtmlAttr($block->getLogoAlt()) ?>"
<?= $logoWidth ? 'width="' . $block->escapeHtmlAttr($logoWidth) . '"' : '' ?> <?= $logoWidth ? 'width="' . $block->escapeHtmlAttr($logoWidth) . '"' : '' ?>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment