javascript - 如何在移动设备上删除光滑的滑块
问题描述
我在我的网站上使用 slick.js 在我的主页上显示推荐。
当用户在移动设备上时,我想完全删除推荐部分。这要求 slick 中的图像不应该已经加载!
这是我构建光滑的代码:
<div class="quote-carousel">
<div class="quote-wrapper">
<?php if(isset($data['carousel_title'])){ ?>
<h3 class="text-center m-b-2"><?php echo $data['carousel_title'];?></h3>
<?php } ?>
<div class="slick-wrapper">
<div id="slick-single" data-slick='{"autoplaySpeed": 6000}' >
<?php foreach ($testimonial_items as $item) { ?>
<div class="quote-item">
<div class="container">
<div class="row">
<div class="col-md-4 person text-center">
<?php if(isset($item->user_id)){ ?>
<img
alt="Testimonial <?=$item->name?>"
src="<?=base_url()?>design/img/testimonials/<?=$item->image?>"
/>
<p class="name"><?=$item->name?></p>
<p class="function"><?=$item->function?><?php if(isset($item->name_partner)){?> @ <span class="entity"><?=$item->name_partner?></span><?php } ?></p>
</div>
<div class="col-md-8 align-self-center">
<blockquote class="font-medium-3"><span><?=$item->message?></span></blockquote>
</div>
</div>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
和 javascript 看起来像这样:
var slickSingle = $('#slick-single');
slickSingle.slick({
dots: true,
lazyLoad: 'ondemand',
infinite: true,
speed: 300,
autoplay: true,
responsive: [
{
breakpoint: 768,
settings: {
arrows: true,
slidesToShow: 1
}
},
{
breakpoint: 480,
settings: {
arrows: false,
slidesToShow: 1
}
}
]
});
1)我尝试将img标签更改为div并通过CSS将图像设置为背景图像,并结合将样式添加到img标签的样式,作为div的内联样式元素。然而这并没有奏效,因为 Slick 在整个地方添加了太多东西。(加:这也不是 SEO 友好的)。
2)我一直在玩的另一个选择是将元素更改为如下元素:
<picture>
<source srcset="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" media="(max-width: 768px)">
<img
alt="Testimonial <?=$item->name?>"
src="<?=base_url()?>design/img/testimonials/<?=$item->image?>"
/>
</picture>
但是,它仍然不理想,因为它仍会将 1x1 下载到浏览器。(但至少我认为它更好?)
3)我看到的第三个选项是使用 AJAX 并在 javascript 中创建完整的滑块。但是我认为这很复杂,我不确定桌面用户是否会更糟(性能方面)?
解决方案
推荐阅读
- python - 为什么 PyAutoGui 命令在 cmd 中不起作用?
- elasticsearch - 多个字段术语和多个文件的 Elasticsearch 查询不能匹配查询
- php - 在 Ubuntu 的 VS Code 中设置 PHP 可执行路径
- c - C:在一行中声明和执行函数
- postgresql - Postgres 选择查询获取了 AccessShareLock 并阻止了其他正在运行的查询
- c - 猫鼬嵌入式网络服务器 - 不能在同一网络上的其他系统上工作
- javascript - 具有引导模式的多实例 jquery 函数
- node.js - 任何暗示为什么我的 Docker 节点映像更新不断崩溃,说它无法在容器中找到 /bin/node
- python - ValueError:运行 django 测试时无法解析相关模型“auth.Group”
- grails - 不在一个 GSP 上但在另一个 Grails 上呈现的域内容列表