dede循环滚动图片如何实现?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 DEDE建站 正文
  1. 使用Dede标签直接调用:这种方法最简单,直接在模板文件中使用Dede的循环标签,配合CSS实现无缝滚动,适合对HTML/CSS有一定了解的用户。
  2. 使用现成的Dede插件:这种方法最省心,直接下载安装插件,后台配置即可,适合新手或不想写代码的用户。

下面我将详细介绍这两种方法。

dede循环滚动图片
(图片来源网络,侵删)

使用Dede标签 + CSS实现(推荐)

这是最常用且灵活的方法,我们可以利用Dede的 {dede:arclist}{dede:loop} 标签来获取图片,然后用纯CSS实现平滑的循环滚动效果。

步骤 1:准备图片数据

确保你的图片已经上传到DedeCMS的图集或文章中,为了方便,我们假设你有一个专门的栏目(首页轮播图”)用来存放这些图片。

步骤 2:编写HTML结构

在需要显示滚动图片的模板文件中(通常是 index.htm),添加以下HTML代码,这里我们创建一个包含图片列表的容器。

<!-- 滚动图片容器 -->
<div class="scroll-container">
    <!-- 图片列表 -->
    <ul class="scroll-list">
        {dede:arclist typeid='你的栏目ID' row='5' orderby='pubdate' titlelen='30'}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">
                <img src="[field:litpic/]" alt="[field:title/]">
            </a>
        </li>
        {/dede:arclist}
    </ul>
</div>

代码解释:

dede循环滚动图片
(图片来源网络,侵删)
  • {dede:arclist}:Dede的列表调用标签。
  • typeid='你的栏目ID'请务必替换成你存放滚动图片的栏目ID,如果不指定,它会调用全站的文章。
  • row='5':表示调用5条数据(即5张图片)。
  • [field:litpic/]:调用文章的缩略图。
  • [field:arcurl/]:调用文章的链接地址。
  • [field:title/]:调用文章的标题。

步骤 3:编写CSS样式

在模板的CSS文件中(通常是 /templets/你的模板名/style.css),添加以下CSS代码来实现滚动效果。

/* 滚动图片容器 */
.scroll-container {
    width: 100%; /* 设置宽度,1200px */
    height: 300px; /* 设置高度 */
    margin: 0 auto;
    overflow: hidden; /* 隐藏超出容器的内容 */
    position: relative;
    background-color: #f5f5f5; /* 可选,设置背景色 */
}
/* 图片列表 */
.scroll-list {
    display: flex; /* 使用flex布局 */
    list-style: none;
    margin: 0;
    padding: 0;
    width: 200%; /* 列表宽度设为容器的两倍,用于无缝循环 */
    animation: scroll 20s linear infinite; /* 关键:应用滚动动画 */
}
/* 图片列表项 */
.scroll-list li {
    flex-shrink: 0; /* 防止图片被压缩 */
    width: 20%; /* 5张图片,每张占20%的宽度 */
    height: 100%;
    margin-right: 10px; /* 图片之间的间距 */
}
.scroll-list li:last-child {
    margin-right: 0;
}
.scroll-list li img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 保证图片填充且不变形 */
    border-radius: 8px; /* 可选,添加圆角 */
}
/* 鼠标悬停时暂停滚动 */
.scroll-container:hover .scroll-list {
    animation-play-state: paused;
}
/* 核心滚动动画 */
@keyframes scroll {
    0% {
        transform: translateX(0); /* 初始位置 */
    }
    100% {
        transform: translateX(-50%); /* 向左滚动50%的宽度,正好滚动完一轮 */
    }
}

CSS代码解释:

  • .scroll-container:设置一个固定大小的盒子,并设置 overflow: hidden,这样超出部分就看不到了。
  • .scroll-list
    • display: flex:让所有图片水平排列在一行。
    • width: 200%:这是实现“无缝”循环的关键,列表的宽度是容器的两倍,这样当它滚动完一半(100%)时,看起来就像是第一张图片刚刚离开,而另一张一模一样的图片紧接着进入。
    • animation: scroll 20s linear infinite:定义动画。scroll 是动画名,20s 是滚动周期(20秒),linear 是匀速滚动,infinite 是无限循环。
  • @keyframes scroll:定义动画的具体行为,从 translateX(0)(原地不动)到 translateX(-50%)(向左移动自身宽度的50%)。
  • hover:当鼠标移动到滚动区域上时,通过 animation-play-state: paused 暂停动画,提升了用户体验。

使用现成的Dede插件

如果你不想写代码,或者功能更复杂(比如带按钮控制、分页等),使用插件是最佳选择。

步骤 1:下载插件

在网上搜索“DedeCMS 图片滚动插件”、“DedeCMS 轮播图插件”等关键词,可以从Dede官方论坛、一些Dede资源站或GitHub上下载,搜索 dedecms marqueededecms slider

dede循环滚动图片
(图片来源网络,侵删)

步骤 2:上传并安装插件

  1. 上传文件:将下载的插件包解压,按照说明将文件上传到DedeCMS的相应目录(通常是 /include//templets//plus/ 等)。
  2. 安装插件:登录DedeCMS后台,找到“模块” -> “模块管理”或“插件管理”,点击“上传新模块”或“安装插件”,然后选择你上传的安装文件(通常是 install.php)进行安装。

步骤 3:在后台配置插件

安装成功后,通常会在后台生成一个专门的配置菜单,进入该菜单,进行如下设置:

  • 选择要调用图片的栏目。
  • 设置显示数量、图片大小、滚动速度、是否显示标题等。
  • 保存配置。

步骤 4:在模板中调用标签

插件官方会提供具体的调用标签,你只需要在需要显示滚动图片的模板文件(如 index.htm)中,粘贴它提供的代码即可。

示例调用标签(不同插件格式不同):

{dede:plugin name='your_plugin_name'}

或者

<!-- 你的插件调用代码 -->
<div class="your-plugin-wrapper">
    <!-- 插件生成的HTML结构 -->
</div>

总结与对比

特性 Dede标签 + CSS 使用插件
优点 轻量级:无需额外文件,加载快。
灵活:完全控制HTML结构和CSS样式。
免费:不需要购买任何东西。
简单易用:后台配置即可,无需代码。
功能丰富:通常自带多种效果(淡入淡出、滑动、缩放等)。
稳定:由专业开发者维护,兼容性可能更好。
缺点 需要代码能力:需要了解HTML、CSS和Dede标签。
功能相对单一,通常只支持一种滚动方式。
可能臃肿:插件可能包含大量不必要的代码,影响网站速度。
兼容性风险:可能与你的模板或Dede版本不兼容。
可能有版权或后门:来源不明的插件存在安全风险。
适用人群 前端开发者、有一定动手能力的站长、追求极致性能和自定义的用户。 新手、不想写代码的站长、需要复杂交互效果的用户。

建议:

  • 如果只是简单的从左到右或从右到左的循环滚动,强烈推荐方法一,它干净、高效且完全可控。
  • 如果你需要类似主流网站首页那种带分页器、前后切换按钮、多种切换动画的复杂轮播图,那么使用一个成熟可靠的插件是更好的选择
-- 展开阅读全文 --
头像
织梦网站为何打开速度慢?
« 上一篇 04-30
C语言程序设计简明教程,如何快速入门?
下一篇 » 04-30

相关文章

取消
微信二维码
支付宝二维码

目录[+]