新闻滚动效果

今天给大家分享一个新闻滚动的效果  具体代码如下

task1

HTML结构

 1 <div class="box">
 2         <div class="count1">
 3             <p>1号标题</p>
 4             <p>2号标题</p>
 5             <p>3号标题</p>
 6             <p>4号标题</p>
 7             <p>5号标题</p>
 8         </div>
 9         <div class="count2">
10             <!-- 这个盒子放得内容和上面一样 目的是达到无缝滚动状态 -->
11         </div>
12 </div>

CSS结构

 1 <style>
 2         * {
 3             margin: 0;
 4             padding: 0;
 5             list-style: none;
 6         }
 7 
 8         .box {
 9             width: 300px;
10             height: 30px;
11             border: solid 1px;
12             margin: 200px auto 0;
13             overflow: hidden;
14         }
15 
16         p {
17             width: 100%;
18             text-align: center;
19             height: 30px;
20             line-height: 30px;
21         }
22 </style>

JS代码

 1 <script>
 2         let box = document.querySelector(".box");
 3         let count1 = document.querySelector(".count1");
 4         let count2 = document.querySelector(".count2");
 5         count2.innerHTML=count1.innerHTML;//将第一个盒子的内容原样复制给第二个盒子
 6         setInterval(()=>{
 7             box.scrollTop++; //在定时器中利用滚动scrollTop的增加达到滚动效果
 8             if(box.scrollTop>=count1.offsetHeight){
 9                 //当超过第一个盒子高度的时候让scrollTop归零
10                 box.scrollTop=0;
11             }
12         },80)
13 </script>

 

task2

今天给大家再分享另一个方法一个HTML5的新标签也能够实现这种效果

 

语法:<marquee>...</marquee>; 说明:在标记之间添加要进行滚动的内容。 默认从左往右不断循坏的播放

使用marquee标记不仅可以移动文字,也可以移动图片,表格等. 

 

还可以添加几个属性来达到不同的需求


1.滚动方向direction(包括4个值:up、 down、 left和 right)
  语法:<marquee direction="滚动方向">...</marquee>

 

2.滚动方式behavior(scroll:循环滚动,默认效果; slide:只滚动一次就停止; alternate:来回交替进行滚动)
  语法:<marquee behavior="滚动方式">...</marquee>

 

3.滚动速度scrollamount(滚动速度是设置每次滚动时移动的长度,以像素为单位)
  语法:<marquee scrollamount="5">...</marquee>

 

4.滚动延迟scrolldelay(设置滚动的时间间隔,单位是毫秒)
  语法:<marquee scrolldelay="100">...</marquee>

注意这个滚动延迟不是指的刚开始的时候延迟 是每动一下就延迟这么久 效果和放慢速度差不多

 

5.滚动循环loop(默认值是-1,滚动会不断的循环下去)
  语法:<marquee loop="2">...</marquee>

设置页面可以滚动几次

 

6、
滚动范围width、height
滚动背景颜色bgcolor

这两个也可以通过css的样式给这个标签外层盒子设置

 7、hspace和vspace属性 
      这两个属性决定滚动矩形区域距周围的空白区域. 
    <marquee width="300" height="30" vspace="10" hspace="10" bgcolor="red">我矩形边缘水平和垂直距周围各10像素。</marquee> 
    <marquee width="300" height="30" vspace="50" hspace="50" bgcolor="red">我矩形边缘水平和垂直距周围各50像素。</marquee> 

8、在事件里面可以获取这个标签scrollTop或者scrollLeft值  然后可以通过他们判断达到某一些操作

9、标签.stop() 是停止运动  start()是开始

 

 

不过此标签虽然仍可以使用 但是似乎被废除

posted @ 2019-03-24 22:01  嗨,陈强  阅读(477)  评论(0编辑  收藏  举报