基于jquery的滚动新闻列表

对于“基于jquery的滚动新闻列表”的完整攻略,我会详细的讲解如下:

1. 准备工作

在开始制作滚动新闻列表之前,你需要先引入jQuery库,因为这个滚动新闻列表是基于jQuery实现的。

通过在head标签中添加以下代码来引入jQuery库:

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

2. 搭建基本框架

接下来,我们需要先搭建一个基本的框架,方便我们进行布局的操作。框架可参考以下代码:

<div class="scrollNews">
    <div class="title">
        <h3>滚动新闻列表</h3>
    </div>
    <div class="content">
        <ul>
            <li>这是新闻1</li>
            <li>这是新闻2</li>
            <li>这是新闻3</li>
            <li>这是新闻4</li>
            <li>这是新闻5</li>
        </ul>
    </div>
</div>

在上面的框架中,我们通过div标签来创建一个名为scrollNews的容器,并在容器中创建一个名为title的容器,用于展示滚动新闻列表的标题。在title容器的内部,我们使用了h3标签来展示滚动新闻列表的标题文字。

scrollNews容器中,我们还创建了一个名为content的容器,用于展示滚动新闻列表的内容。在content容器的内部,我们使用了ul标签来创建一个无序列表,每一个列表项即为一篇新闻。

3. CSS 样式

为了让我们的滚动新闻列表看起来更加美观,我们需要对其进行样式的设置。

以下是基本的样式设置:

.scrollNews {
    width: 400px;
    height: 100px;
    border: 1px dashed #ccc;
    overflow: hidden;
    position: relative;
}
.title {
    height: 20px;
    background-color: #f5f5f5;
    text-align: center;
}
.content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
}
li {
    height: 20px;
    line-height: 20px;
}

在上面的样式中,我们设置了滚动新闻列表的宽度、高度、边框等基本样式;将titlecontent容器设置为绝对定位;将ul的样式设置为无序列表的基本样式。另外,一定要注意将ulposition属性设置为绝对定位,以便于我们后续实现滚动效果。

4. JS 实现

接下来,我们需要在jQuery的帮助下,实现滚动新闻列表的滚动效果。

请参考以下代码:

$(function() {
    // 获取滚动容器
    var $content = $('.content');
    // 设置滚动速度
    var scrollSpeed = 100;
    // 获取所有新闻
    var $lis = $content.find('li');

    // 如果新闻数量大于等于3,则进行滚动
    if ($lis.length >= 3) {
        // 复制前两个新闻,添加到新闻最后
        $content.append($lis.eq(0).clone());
        $content.append($lis.eq(1).clone());
        // 计算滚动区域高度
        var scrollHeight = $lis.eq(0).outerHeight() * 3;
        // 设置滚动区域高度
        $content.css('height', scrollHeight);
        // 定时滚动
        setInterval(function() {
            // 移动第一个新闻,添加到末尾
            $content.find('li:first').animate({ marginTop: -scrollHeight }, scrollSpeed, function() {
                $(this).css('marginTop', 0).appendTo($content);
            });
        }, 3000);
    }
});

在上面的代码中,我们使用了jQuery提供的animate方法来实现滚动效果。首先,我们获取到滚动容器、新闻列表,然后判断新闻数量是否大于等于3,如果是,则进行滚动。然后我们将新闻列表中前两个新闻复制一份,并添加到新闻列表末尾;计算出滚动区域高度;然后使用定时器,每三秒钟滚动一次。这里使用了animate方法,将第一个新闻项向上移动一个滚动区域高度,并在动画完成时,将该新闻移动到末尾,以此实现滚动效果。

5. 示例说明

为了更好的理解上面的代码,我们再看两条示例说明:

示例 1

HTML 代码

<div class="scrollNews">
    <div class="title">
        <h3>公司新闻</h3>
    </div>
    <div class="content">
        <ul>
            <li>欢迎加入我们</li>
            <li>欢迎来新闻中心</li>
            <li>我们发布了重大新闻</li>
            <li>我们的团队成员再次扩大</li>
            <li>我们将要上市了</li>
            <li>欢迎来新闻中心</li>
            <li>我们发布了重大新闻</li>
        </ul>
    </div>
</div>

CSS 样式

.scrollNews {
    width: 400px;
    height: 100px;
    border: 1px dashed #ccc;
    overflow: hidden;
    position: relative;
}
.title {
    height: 20px;
    background-color: #f5f5f5;
    text-align: center;
}
.content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
}
li {
    height: 20px;
    line-height: 20px;
}

JS 代码

$(function() {
    // 获取滚动容器
    var $content = $('.content');
    // 设置滚动速度
    var scrollSpeed = 100;
    // 获取所有新闻
    var $lis = $content.find('li');

    // 如果新闻数量大于等于3,则进行滚动
    if ($lis.length >= 3) {
        // 复制前两个新闻,添加到新闻最后
        $content.append($lis.eq(0).clone());
        $content.append($lis.eq(1).clone());
        // 计算滚动区域高度
        var scrollHeight = $lis.eq(0).outerHeight() * 3;
        // 设置滚动区域高度
        $content.css('height', scrollHeight);
        // 定时滚动
        setInterval(function() {
            // 移动第一个新闻,添加到末尾
            $content.find('li:first').animate({ marginTop: -scrollHeight }, scrollSpeed, function() {
                $(this).css('marginTop', 0).appendTo($content);
            });
        }, 3000);
    }
});

示例 2

HTML 代码

<div class="scrollNews">
    <div class="title">
        <h3>行业新闻</h3>
    </div>
    <div class="content">
        <ul>
            <li>夏季降温这样做</li>
            <li>2021年支付宝新功能盘点</li>
            <li>共享单车之家将于近期上线</li>
            <li>公交单车基础设施建设创新产品竞赛大赛</li>
            <li>中国科技快讯:人工智能</li>
            <li>微信小程序领先者罗列一览</li>
            <li>最新一期出版业者的状况盘点</li>
        </ul>
    </div>
</div>

CSS 样式

.scrollNews {
    width: 500px;
    height: 120px;
    border: 2px solid #999;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    margin: 20px auto;
}
.title {
    height: 28px;
    background-color: #eee;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 28px;
}
.content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
}
li {
    height: 24px;
    line-height: 24px;
    margin-left: 20px;
}

JS 代码

$(function() {
    // 获取滚动容器
    var $content = $('.content');
    // 设置滚动速度
    var scrollSpeed = 100;
    // 获取所有新闻
    var $lis = $content.find('li');

    // 如果新闻数量大于等于3,则进行滚动
    if ($lis.length >= 3) {
        // 复制前两个新闻,添加到新闻最后
        $content.append($lis.eq(0).clone());
        $content.append($lis.eq(1).clone());
        // 计算滚动区域高度
        var scrollHeight = $lis.eq(0).outerHeight() * 3;
        // 设置滚动区域高度
        $content.css('height', scrollHeight);
        // 定时滚动
        setInterval(function() {
            // 移动第一个新闻,添加到末尾
            $content.find('li:first').animate({ marginTop: -scrollHeight }, scrollSpeed, function() {
                $(this).css('marginTop', 0).appendTo($content);
            });
        }, 3000);
    }
});

以上两个示例是基于jQuery实现的滚动新闻列表的完整攻略,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于jquery的滚动新闻列表 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQWidgets jqxColorPicker disabled属性

    jQWidgets 的 jqxColorPicker 组件提供了 disabled 属性,用于禁用或启用颜色选择器。本文将详细介绍 disabled 属性的使用方法,包括概述、示例以及注意项。 disabled 属性概述 disabled 属性用于禁用或启用颜色选择器。当 disabled 属性设置为 true 时,颜色选择器将被禁用;否则,颜色选择器将被启…

    jquery 2023年5月11日
    00
  • jQWidgets jqxSlider showButtons 属性

    jQWidgets是一个基于jQuery的UI框架,提供了丰富的UI组件和工具库,其中jqxSlider是其提供的一个滑块组件,支持单向或双向滑动,可以用于调整数值范围或音量等应用场景。在jqxSlider中,showButtons是一个常用的属性,用于决定是否显示滑块左右两侧的button按钮。 showButtons属性 showButtons是一个布尔…

    jquery 2023年5月11日
    00
  • jQWidgets jqxKnob标记属性

    jQWidgets jqxKnob标记属性攻略 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供了丰富的 UI 组件和工具,可于创建现代化应用程序。 jqxKnob 旋钮,用于可视化调整数值。本攻略将详细介绍 jqxKnob 的标记属性,该属性用于设置旋钮的标记。 标记属性 jqxKnob 组件标记属性用于在旋钮上添加标记。可以使用该属性…

    jquery 2023年5月10日
    00
  • jquery表单插件form使用方法详解

    jQuery表单插件form使用方法详解 简介 jQuery是一个优秀的JavaScript框架,提供了很多的操作DOM和执行动画的方法,而且它还有很多实用的插件。其中,一个非常受欢迎且实用的插件是jQuery表单插件form。本文将详细讲解jQuery表单插件form的使用方法。 安装 在使用jQuery表单插件form之前,需要先引入jQuery库和jQ…

    jquery 2023年5月27日
    00
  • jQuery AJAX timeout 超时问题详解

    jQuery AJAX Timeout 超时问题详解 概述 在进行 AJAX 请求时,我们经常需要设置请求的超时时间,以避免请求一直等待而不返回结果。jQuery 中通过设置 timeout 选项来设置 AJAX 请求的超时时间,默认为 0,表示不设置超时时间。本文将深入探讨 jQuery AJAX 请求的超时问题。 引言 AJAX 是异步的,当我们发起请求…

    jquery 2023年5月27日
    00
  • jQuery UI进度条change事件

    当使用jQuery UI进度条时,可以使用change事件来监控进度条的变化并采取相应的操作。以下是关于使用jQuery UI进度条change事件的完整攻略: 步骤一:导入jQuery和jQuery UI库 为了使用jQuery UI进度条和change事件,需要先在HTML页面中导入jQuery和jQuery UI库。可以通过以下方式实现: <!-…

    jquery 2023年5月12日
    00
  • 用Jquery.load载入页面实现局部刷新

    JQuery是一种强大的Javascript库,用于在网页上执行交互式和动态的操作。其中一个重要功能就是通过load方法来实现局部刷新页面,本文将详细讲解使用Jquery.load载入页面实现局部刷新的完整攻略。 步骤一:引入Jquery库文件 首先,需要在HTML文件中引入Jquery库文件。可以从官方网站(https://jquery.com/)下载Jq…

    jquery 2023年5月28日
    00
  • jQWidgets jqxProgressBar destroy()方法

    以下是关于 jQWidgets jqxProgressBar 组件中 destroy() 方法的详细攻略。 jQWidgets jqxProgressBar destroy() 方法 jQWidgets jqxProgressBar 组件的 destroy() 方法用于销毁进度条组件及其相关资源。 语法 $(‘#progressbar’).jqxProgre…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部