JQuery——BreakingNews.js新闻滚动效果

简介: BreakingNews.js新闻滚动效果

BreakingNews.js新闻滚动效果

这里是直观效果展示

ad937706176b47fab30f8d7e1b3cd0ba.gif

使用这种效果我们需要三个包

jq.min.js

BreakingNews.css

breakingnews.js

breakingnews.js部分

(function(jQuery){
  $.fn.BreakingNews = function(settings){
    var defaults={
      background  :'#FFF',
      title   :'NEWS',
      titlecolor  :'#FFF',
      titlebgcolor  :'#5aa628',
      linkcolor  :'#333',
      linkhovercolor  :'#5aa628',
      fonttextsize  :16,
      isbold    :false,
      border    :'none',
      width   :'100%',
      autoplay  :true,
      timer   :3000,
      modulid   :'brekingnews',
      effect    :'fade' //or slide  
    };
    var settings=$.extend(defaults,settings);
    return this.each(function(){
    settings.modulid="#"+$(this).attr("id");
    var timername=settings.modulid;
    var activenewsid=1;
    if (settings.isbold==true)
      fontw='bold';
    else
      fontw='normal'; 
    if (settings.effect=='slide')
      $(settings.modulid+' ul li').css({'display':'block'});
    else
      $(settings.modulid+' ul li').css({'display':'none'});    
    $(settings.modulid+' .bn-title').html(settings.title);
    $(settings.modulid).css({'width':settings.width, 'background':settings.background, 'border':settings.border, 'font-size':settings.fonttextsize });
    $(settings.modulid+' ul').css({'left':$(settings.modulid+' .bn-title').width()+40});
    $(settings.modulid+' .bn-title').css({'background':settings.titlebgcolor,'color':settings.titlecolor,'font-weight':fontw});
    $(settings.modulid+' ul li a').css({'color':settings.linkcolor,'font-weight':fontw,'height':parseInt(settings.fonttextsize)+6});
    $(settings.modulid+' ul li').eq( parseInt(activenewsid-1) ).css({'display':'block'});
    // Links hover events ......
    $(settings.modulid+' ul li a').hover(function() 
      {
                      $(this).css({'color':settings.linkhovercolor});
      },
      function ()
      {
      $(this).css({'color':settings.linkcolor});
      }
    );
    // Arrows Click Events ......
    $(settings.modulid+' .bn-arrows span').click(function(e) {
                    if ( $(this).attr('class')=="bn-arrows-left" )
      BnAutoPlay('prev');
      else
      BnAutoPlay('next');
                });
    // Timer events ...............
    if (settings.autoplay==true)
    {
      timername=setInterval(function(){BnAutoPlay('next')},settings.timer);     
      $(settings.modulid).hover(function()
      {
        clearInterval(timername);
      },
      function()
      {
        timername=setInterval(function(){BnAutoPlay('next')},settings.timer);
      }
      );
    }
    else
    {
      clearInterval(timername);
    }
    //timer and click events function ...........
    function BnAutoPlay(pos)
    {
      if ( pos=="next" )
      {
      if ( $(settings.modulid+' ul li').length>activenewsid )
        activenewsid++;
      else
        activenewsid=1;
      }
      else
      {
      if (activenewsid-2==-1)
        activenewsid=$(settings.modulid+' ul li').length;
      else
        activenewsid=activenewsid-1;      
      }
      if (settings.effect=='fade')
      {
      $(settings.modulid+' ul li').css({'display':'none'});
      $(settings.modulid+' ul li').eq( parseInt(activenewsid-1) ).fadeIn();
      }
      else
      {
      $(settings.modulid+' ul').animate({'marginTop':-($(settings.modulid+' ul li').height()+20)*(activenewsid-1)});
      }
    }
    // links size calgulating function ...........
    $(window).resize(function(e) {
                    if ( $(settings.modulid).width()<360 )
      {
      $(settings.modulid+' .bn-title').html('&nbsp;');
      $(settings.modulid+' .bn-title').css({ 'width':'4px', 'padding':'10px 0px'});
      $(settings.modulid+' ul').css({'left':4});
      }else
      {
      $(settings.modulid+' .bn-title').html(settings.title);
      $(settings.modulid+' .bn-title').css({ 'width':'auto', 'padding':'10px 20px'});
      $(settings.modulid+' ul').css({'left':$(settings.modulid+' .bn-title').width()+40});
      }
                });
    });
  };
})(jQuery);

BreakingNews.css部分

.BreakingNewsController {
    width: 100%;
    overflow: hidden;
    background: #FFF;
    height: auto;
    position: relative;
}
.BreakingNewsController .bn-title {
    display: inline-block;
    float: left;
    padding: 10px 20px;
    background: #5aa628;
    color: #FFF;
}
.BreakingNewsController ul {
    padding: 0;
    margin: 0;
    display: block;
    list-style: none;
    position: absolute;
    left: 180px;
    right: 50px;
}
.BreakingNewsController ul li {
    list-style: none;
    padding: 10px 20px;
    display: none;
}
.BreakingNewsController ul li a {
    text-decoration: none;
    color: #333;
    display: inline-block;
    overflow: hidden;
    padding: 0;
    font-size: 16px;
}
.BreakingNewsController ul li a span {
    margin-left: 26px;
    color: #4b4b4b;
    opacity: 0.6;
}
.BreakingNewsController .more {
    display: inline-block;
    float: right;
    width: 120px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin-right: 30px;
    height: 38px;
    margin-top: 18px;
}
.BreakingNewsController .more a {
    display: inline-block;
    width: 100%;
    height: 100%;
    border: 1px solid #898989;
    text-align: center;
    line-height: 38px;
    border-radius: 20px;
    box-sizing: border-box;
}
.BreakingNewsController .more a:hover{
    color: #fff;
    border: 1px solid #fff;
    background-color: #898989;
}
.BreakingNewsController .bn-arrows {
    display: inline-block;
    float: right;
    width: 120px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin-right: 30px;
}
.BreakingNewsController .bn-arrows span {
    display: block;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    cursor: pointer;
    opacity: 0.2;
}
.BreakingNewsController .bn-arrows span:hover {
    opacity: 1;
}
/* .BreakingNewsController .bn-arrows-left{ left:0; background:url(../img/bn-arrows.png) left center no-repeat;}
.BreakingNewsController .bn-arrows-right{right:10px; background:url(../img/bn-arrows.png) right center no-repeat;} */
.easing a,
.easing span {
    transition: .25s linear;
    -moz-transition: .25s linear;
    -webkit-transition: .25s linear;
}
.bn-title {
    font-size: 18px;
    font-weight: bold !important;
    text-align: center;
}
.border{
    float: left;
    display: block;
    width: 1px;
    height: 15px;
    margin-top: 16px;
    opacity: 0.3;
    background: #898989;
}
.index_aside {
    position: absolute;
    top: 693px;
    z-index: 99;
    left: 50%;
    transform: translate(-50%, -50%);
}

css部分可以自行调整

<aside class="index_aside wow zoomIn">
        <div class="BreakingNewsController easing" id="breakingnews" style="width: 100%; background: rgb(255, 255, 255); border-radius: 4px;
        box-shadow: -8px 0px 107.8px 0.16px rgba(165,165,165,0.39); font-size: 16px;padding: 16px 0;">
            <div class="bn-title" style="  font-weight: normal; width: 125px; padding: 10px 20px;"></div>
            <span class="border"></span>
            <ul style="left: 125px; ">
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
                <li><a href="###">【重要通知】xxxxxxxxxxxxxxxxxxxxxxxxxxxxx <span>2022-09-14</span></a></li>
            </ul>
            <!-- 这里的bn-arrows就是点击切换事件,我这里默认给去掉了 -->
            <!-- <div class="bn-arrows"><span class="bn-arrows-left"></span><span class="bn-arrows-right"></span></div>  -->
            <div class="more">
                <a href="javascript:;">MORE</a>
            </div>
        </div>
</aside>

最后附上配置属性代码

$("#breakingnews").BreakingNews({
    background: "#FFF",
    title: "新闻资讯",
    titlecolor: "#119853",
    titlebgcolor: "#fff",
    linkcolor: "#333",
    linkhovercolor: "#099",
    fonttextsize: 18,
    isbold: false,
    // border: "solid 2px #099",
    width: "1200px",
    timer: 3000,
    autoplay: true,
    effect: "slide",
});

相关配置如下:

参数 描述 默认值

background 背景颜色 #FFF

title 标题文本 NEWS

titlecolor 标题字体颜色 #FFF

titlebgcolor 标题背景颜色 #5aa628

linkcolor 链接颜色 #333

linkhovercolor 链接 hover 颜色值 #5aa628

fonttextsize 字体大小,单位默认为 px,如果要使用其他单位,请用字符串,如 ’16pt’ 16

isbold 粗体 false

border 边框,例如 ‘1px solid #099′ none

width 宽度 100%

autoplay 自动播放 true

timer 滚动间隔,以毫秒为单位 3000

effect 动画过度方式,可选 fafde(淡入淡出)或 slide(向上滑动) fade


相关文章
|
3月前
|
JavaScript
jQuery实现无缝图片滚动效果
jQuery实现无缝图片滚动效果
156 67
|
4月前
|
JavaScript
鼠标事件(点击换色)分别使用js和jQuery代码实现
鼠标事件(点击换色)分别使用js和jQuery代码实现
44 1
|
23天前
|
JavaScript 前端开发
js+jquery实现贪吃蛇经典小游戏
本项目采用HTML、CSS、JavaScript和jQuery技术,无需游戏框架支持。通过下载项目文件至本地,双击index.html即可启动贪吃蛇游戏。游戏界面简洁,支持方向键控制蛇移动,空格键实现游戏暂停与恢复功能。
53 14
|
24天前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
31 5
|
29天前
|
JavaScript
jQuery实现的滚动切换图表统计特效源码
jQuery实现的滚动切换图表统计特效源码是一段全屏滚动的企业当月运营报告数据统计图表代码,涵盖流行的线性、圆形、柱形图统计方式,适应于绝大多数企业,欢迎感兴趣的朋友前来下载参考。
22 2
|
1月前
|
JavaScript 定位技术
jQuery鹰眼视图小地图定位预览插件minimap.js
这是一个jQuery小地图定位预览视图,默认左侧是页面主要内容,minimap.js的好处就是在它的右侧形成一个快速定位通道,产生一个缩小版的页面,即预览效果,可以点击并快速定位到页面的某个位置。简单实用,欢迎下载!
33 0
|
4月前
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
53 1
JS如何优雅的实现模块自动滚动展示
|
4月前
|
JavaScript
分别用jquery和js修改页面元素
分别用jquery和js修改页面元素
38 2
|
4月前
|
JavaScript Java
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
22 1
|
4月前
|
JavaScript 前端开发
使用js,html,css实现歌词滚动的效果
使用js,html,css实现歌词滚动的效果
73 0