基于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日

相关文章

  • jQuery中ScrollTo用法示例

    jQuery中ScrollTo用法示例 什么是ScrollTo ScrollTo是一款JavaScript插件,可以让网页实现平滑滚动效果。它可以帮助我们实现非常优秀的用户体验,比如: 点击菜单栏的链接,使页面平稳滑动至对应的部分 当用户在浏览页面时,当页面滚到某一区域时,自动出现动画效果 总之,ScrollTo的作用就是让网页滚动非常顺畅。 ScrollT…

    jquery 2023年5月28日
    00
  • jQWidgets jqxFormattedInput radix属性

    jQWidgets jqxFormattedInput radix属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表、历、菜单等。jqxFormattedInput是jQWidgets中的一个组件,可以用于输入和格式化数字、货币、日期等。jqxFormattedInput提供了radix属性,用于设置数字的进…

    jquery 2023年5月9日
    00
  • jQWidgets jqxGrid setcolumnproperty()方法

    以下是关于“jQWidgets jqxGrid setcolumnproperty()方法”的完整攻略,包含两个示例说明: 方法简介 setcolumnproperty(datafield, propertyname, value) 方法是 jQWidgets jqxGrid 控件的一个方法,用于设置指定列的属性值。该方法的语法如下: $("#jq…

    jquery 2023年5月10日
    00
  • Java常用开源库汇总

    Java常用开源库汇总 什么是开源库 开源库是一组编程代码,可以供开发者在自己的程序中调用,以便实现特定的功能。Java拥有许多开源库,这些库都是由Java社区开发者贡献出来的。使用这些开源库可以提高我们的开发效率,避免重复劳动。 常用的开源库 1. Spring Framework Spring Framework是Java领域最为流行的开源框架之一。它提…

    jquery 2023年5月18日
    00
  • jQWidgets jqxSortable out 事件

    jQuery Widgets (jQWidgets) 是一套用来增强 Web 应用程序用户交互体验的工具库。其中,jqxSortable 插件则专门用来实现可排序的拖放功能。当某个拖拽对象被放置到可接收的容器中时,jqxSortable 会触发 out 事件。 out 事件 当一个拖动的对象从可排序容器上移除时,会触发 out 事件。此时,可以执行某些操作进…

    jquery 2023年5月11日
    00
  • vue中关于checkbox使用的问题

    当我们在 Vue 中使用复选框(<input type=”checkbox”>)时,可能会遇到一些问题,特别是在处理双向绑定和选中状态时。下面是一些常见的问题和解决方法: 问题1:选中状态不更新 复选框的选中状态可以通过 v-model 进行双向绑定。然而,当我们使用一个数组作为 v-model 的值并试图更新它时,选中状态不会自动更新。这是因为…

    jquery 2023年5月27日
    00
  • JavaScript中Object.prototype.toString方法的原理

    Object.prototype.toString方法是JS中原生方法之一。它的作用是返回当前对象的字符串表示形式。这个返回字符串的具体格式如下: “[object 值类型或内置对象名称]” 其中,值类型指Boolean、Number、String、Null、Undefined、Symbol,内置对象指Object、Array、Function、Date、R…

    jquery 2023年5月18日
    00
  • jQWidgets jqxTree checkItem()方法

    以下是关于 jQWidgets jqxTree checkItem() 方法的完整攻略: jQWidgets jqxTree checkItem() 方法 checkItem() 方法用于选中树形结构中的指定节点。方法接受一个参数,即要选中的节点的 ID 或索引。 语法 $(‘#tree’).jqxTree(‘checkItem’, item); ` ###…

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