在单击之前阻止加载图像

prevent images being loaded until click

提问人:Beep 提问时间:6/4/2020 更新时间:6/4/2020 访问量:263

问:

我目前有一个图像和文本列表,我们有大约 1000 张图像,因此页面加载速度很慢。

我有一个隐藏和显示函数,当使用 js slice 方法单击时,它只会加载接下来的三个。

我的图像是从wp php循环加载的,由于服务器限制,我无法使用Ajax,有没有一种简单的方法可以在用户单击按钮之前不加载图像?

问题

我的问题是,在用户单击按钮显示接下来的 3 张图像之前,如何防止加载所有图像 我试过了

$(".secondary-card").each(function() {
        var obj = $(this);
        obj.data("objsrc", obj.attr("data-src"));
        obj.hide().attr("data-src", "").before("<span class=\"loading\">loading . . .</span>");
    });

但我的页面剂量似乎并没有快多少

这是我当前加载接下来 3 张图像的代码

const cards = $('.card-deck')
let clicks = 3;

if (cards.length > 3) {
    cards.hide();
    cards.slice(0, 3).show();
}
$('.show-more').on('click', function() {
    clicks = clicks + 3;
    if (clicks > cards.length) {
        clicks = cards.length
    }
    cards.slice(0, clicks).fadeIn();
});
JavaScript PHP jQuery WordPress 切片

评论

0赞 Endless 6/4/2020
您是否尝试过使用本机loading=lazy?认为它更适合 SEO 和 js 拦截器
0赞 Beep 6/4/2020
当前使用 apoorv.pro/lozad.js
0赞 shubham arora 6/4/2020
尝试在以任何名称调用的函数中使用您的逻辑,并仅在单击事件时触发它。
0赞 Lapskaus 6/4/2020
你能展示一下你的 php 代码是如何创建卡片的吗?
0赞 Beep 6/4/2020
只是基本的 wordpress 循环 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // // 在这里发布内容 // } // 结束 while } // 结束 if ?>

答:

0赞 shubham arora 6/4/2020 #1

以下是您可以继续的方法:

$(.cards-desk).hide();
$('.show-more').on('click', function() {
  $(.cards-desk).append("You images html code");
  $(".cards-desk").show()
});

评论

0赞 Beep 6/4/2020
问题在这里我的图像 html 是一个 php 循环
0赞 shubham arora 6/5/2020
然后以两种方式使用分页>后端或前端
0赞 Beep 6/5/2020
不使用分页,希望全部放在一个页面上,并在没有 AJAX 的情况下或多或少地显示