实现移动端广告滚动(从上至下)

210 阅读2分钟

效果图是这样的!(but...动态的靠自己想象吧j😄)

shiixan.png

<div class="rdwd_box" id="rdwd_box">
        <div class="rdwd_box01" onMouseOut="Up()" onMouseOver="Stop()" id="rdwd_box_1">
                <ul>
                  <li>
                    <div class="answer_li"></div>
                    <p>高中没毕业可以上空乘吗?</p>
                    <button><a href="#" class="button_h">答案</a></button>
                  </li>
                  <li>
                    <div class="answer_li"></div>
                    <p>高中没毕业可以上空乘吗?</p>
                    <button><a href="#" class="button_h">答案</a></button>
                  </li>
                  <li>
                    <div class="answer_li"></div>
                    <p>高中没毕业可以上空乘吗?</p>
                    <button><a href="#" class="button_h">答案</a></button>
                  </li>
                  ...
                </ul>
      </div>
      <div class="rdwd_box02" id="rdwd_box_2"></div>
</div>



、、js、、
<script>
    var box = document.getElementById("rdwd_box");
    var con1 = document.getElementById("rdwd_box_1");
    var con2 = document.getElementById("rdwd_box_2");
    var speed = 30;
    console.log(con1.innerHTML)
    con2.innerHTML = con1.innerHTML;
    function ScrollUp() {
      if (box.scrollTop >= con1.scrollHeight) {
        box.scrollTop = 0;
      } else
        box.scrollTop++;
    }
    var i = setInterval("ScrollUp()", speed);
    function Stop() {
      clearInterval(i);
    }
    function Up() {
      i = setInterval("ScrollUp()", speed);
    }
</script>

还有一种是用 marquee(但是使用这种方法会有一种弊端,就是使用以后在滚动前后都会有空白.)

**一、marquee标签的几个重要属性:**

         1.direction:滚动方向(包括4个值:up、down、left、right)

            说明:up:从下向上滚动;down:从上向下滚动;left:从右向左滚动;right:从左向右滚动。

            语法:<marquee direction="滚动方向">...</marquee>

         2.behavior:滚动方式(包括3个值:scroll、slide、alternate)

            说明: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>                        

                         <marquee loop="-1" bgcolor="#CCCCCC">我会不停地走。</marquee>

                         <marquee loop="2" bgcolor="#CCCCCC">我只走两次哦</marquee>

         6.width、height:设定滚动字幕的宽度、高度

            语法:<marquee width="500" height="200">...</marquee>

         7.bgcolor:设定滚动字幕的背景颜色(可以是颜色值,也可以是rgb()或rgba()函数)

            语法:<marquee bgcolor="rgba(0,0,0,0.2)">...</marquee>

          8.hspace、vspace:空白空间(相当于设置margin值)

             说明:hspace:设定活动字幕里所在的位置距离父容器水平边框的距离,如hspace=“10”,即等同于:margin:0 10px;

                         vspace:设定活动字幕里所在的位置距离父容器垂直边框的距离,如vspace=“10”,即等同于:margin:10px 0;

             语法:<marquee hspace="10"  vspace="10">...</marquee>(等同于:margin:10px;)

          9.align:设定滚动字幕内容的对齐方式(包括9个值:absbottom、absmiddle、baseline、bottom、left、middle、right、                                       texttop、top)

              说明:absbottom:绝对底部对齐(与g、p等字母的最下端对齐)  
                          absmiddle:绝对中央对齐  
                          baseline:底线对齐  
                          bottom:底部对齐(默认)  
                          left:左对齐  
                          middle:中间对齐  
                          right:右对齐  
                          texttop:顶线对齐  
                          top:顶部对齐

                 语法:<marquee align="对齐方式">...</marquee>

           10.face:设定滚动字幕的文字字体

                语法:<marquee font="楷体_GB2312"></marquee>

           11.color:设定滚动字幕的文字颜色

                语法:<marquee color="#333"></marquee>

           12.size:设定滚动字幕的文字字号

                语法:<marquee size="3"></marquee>

           13.STRONG:设定滚动字幕的文字加粗

                语法:<marquee STRONG></marquee>

        **二、** **marquee常用到的两个事件:**  
               onMouseOut="this.start()" 用来设置鼠标移出该区域时继续滚动  
               onMouseOver="this.stop()" 用来设置鼠标移入该区域时停止滚动

               <marquee onMouseOut="this.start()" onMouseOver="this.stop()">marquee常用到的两个事件</marquee>                                         

          完整代码如下:

           <marquee id="affiche" align="left" behavior="scroll" bgcolor="#FF0000" direction="up" height="300" width="200" hspace="50"            vspace="20" loop="-1" scrollamount="10" scrolldelay="100" onMouseOut="this.start()" onMouseOver="this.stop()">

        尽管<marquee>参数不少,但毕竟不能实现复杂的和自定义的特殊跑马灯效果,而且还有浏览器限制,所以我们更多情况下会采用[JavaScript](http://lib.csdn.net/base/javascript "JavaScript知识库")来实现跑马灯滚动效果。