菜鸟科技网

织梦如何添加滚动代码?

要在织梦(DedeCMS)网站中添加滚动代码,通常是为了实现新闻公告、产品展示等内容的动态滚动效果,提升用户体验,以下是详细的操作步骤和代码示例,涵盖不同滚动场景的实现方法。

织梦如何添加滚动代码?-图1
(图片来源网络,侵删)

登录织梦后台,进入“模板”->“默认模板管理”,找到需要修改的模板文件(如首页index.htm、列表页article_list.htm等),建议先备份原文件,避免操作失误导致网站异常,滚动代码通常分为两种:一种是基于CSS的简单滚动,另一种是基于JavaScript的复杂滚动(如带暂停、自动轮播等),这里以常见的“无缝滚动”和“逐条滚动”为例说明。

CSS实现无缝滚动

这种方法无需JS,适合内容较少的滚动场景,在模板文件中找到需要添加滚动的位置(如首页公告栏),插入以下代码:

<div class="scroll-box">
    <div class="scroll-content">
        {dede:arclist row='5' titlelen='30'}
        <div class="scroll-item">[field:title]</div>
        {/dede:arclist}
    </div>
</div>

然后在<head>标签内添加CSS样式:

<style>
.scroll-box { width: 100%; height: 30px; overflow: hidden; position: relative; }
.scroll-content { display: flex; animation: scroll 15s linear infinite; }
.scroll-item { flex-shrink: 0; padding: 0 20px; line-height: 30px; }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
</style>

通过animation属性控制滚动速度和方向,translateX(-50%)实现无缝衔接,注意调整row参数控制显示条数。

织梦如何添加滚动代码?-图2
(图片来源网络,侵删)

JavaScript实现逐条滚动

适合需要控制滚动速度、暂停等交互的场景,在模板中插入HTML结构:

<div class="js-scroll">
    <ul>
        {dede:sql sql="SELECT title FROM dede_archives WHERE typeid='1' ORDER BY id DESC LIMIT 10"}
        <li>[field:title]</li>
        {/dede:sql}
    </ul>
</div>

<head>标签内引入jQuery(若未引入)和滚动插件:

<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
<script src="/static/js/jquery.SuperSlide.js"></script>

添加初始化代码:

<script>
$(function(){
    $('.js-scroll').slide({ mainCell:'ul', autoPlay:true, effect:'topMarquee', interTime:50 });
});
</script>

参数说明:autoPlay自动播放,interTime滚动间隔(毫秒),effect为滚动方向(topMarquee上下,leftMarquee左右),需提前下载SuperSlide插件并上传至/static/js/目录。

织梦如何添加滚动代码?-图3
(图片来源网络,侵删)

调用织梦标签实现动态内容可结合织梦标签动态调用,例如调用指定分类的文章:

<div id="notice-scroll">
    {dede:channelartlist typeid='3'}
    <div class="notice-item">
        {dede:arclist row='3' titlelen='20'}
        [field:title] <span>[field:pubdate function="MyDate('m-d',@me)"]</span><br>
        {/dede:arclist}
    </div>
    {/dede:channelartlist}
</div>

配合CSS设置样式:

#notice-scroll { height: 60px; overflow: hidden; }
.notice-item { line-height: 20px; }

常见问题解决

  1. 滚动卡顿:检查CSS中transform属性是否与其他样式冲突,可尝试添加will-change: transform;优化性能,不显示**:确认织梦标签语法正确,检查typeidrow等参数是否匹配实际数据。

相关问答FAQs

Q1: 如何实现鼠标悬停时暂停滚动?
A: 在JS初始化代码中添加mouseOverStop:true参数,

$('.js-scroll').slide({ mainCell:'ul', autoPlay:true, mouseOverStop:true });

Q2: 滚动内容如何添加链接?
A: 在织梦标签中添加[field:typelink/][field:arcurl/]实现跳转,

{dede:arclist row='5'}
<a href="[field:arcurl/]" target="_blank">[field:title]</a>
{/dede:arclist}
分享:
扫描分享到社交APP
上一篇
下一篇