如何减少选框循环的时间间隔?

时间:2017-06-13 10:34:04

标签: javascript html marquee

我的摘录如下,

  

<div class="row">
      <h3 class="news_title"> Latest Events </h3>
      <marquee behavior="scroll" loop="infinite" direction="up" scrollamount="2" onmouseover="this.stop();" style="height:200px" onmouseout="this.start();">
        <ul>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…t-day-15-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – EDUCATION DEVELOPMENT DAY 15.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-03-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – CLUB INAUGURATION – 03.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-18-06-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – FATHER’S DAY CELEBRATION – 18.06.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ation-16-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – RAMZAN CELEBRATION – 16.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ition-20-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – ENVIRONMENT DAY COMPETITION – 20.07.2</a></li>
        </ul>
      </marquee>
  </div>

这里我使用选取框一个接一个地循环一组事件,如果第一组事件结束,那么第二个事件的运行时间会很长。我的要求是,我需要在第一组事件之后继续下一组事件,只需要一点时间间隔。如何做?

3 个答案:

答案 0 :(得分:1)

这使用SCROLLAMOUNTSCROLLDELAY

的组合

参考:marquee reference

  

<div class="row">
      <h3 class="news_title"> Latest Events </h3>
      <marquee SCROLLAMOUNT=5 SCROLLDELAY=10 behavior="scroll" loop="infinite" direction="up" scrollamount="2" onmouseover="this.stop();" style="height:200px" onmouseout="this.start();">
        <ul>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…t-day-15-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – EDUCATION DEVELOPMENT DAY 15.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-03-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – CLUB INAUGURATION – 03.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-18-06-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – FATHER’S DAY CELEBRATION – 18.06.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ation-16-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – RAMZAN CELEBRATION – 16.07.2015</a></li>
          <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ition-20-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – ENVIRONMENT DAY COMPETITION – 20.07.2</a></li>
        </ul>
      </marquee>
  </div>

正如其他人所建议的那样,这个功能很有用,并试图避免使用它。

Here是一些替代方案,你可以使用像选框一样。

Another替代方案,使用纯css动画来实现像marquee一样的效果

如果您对插件(jQuery)感兴趣,可以采取以下方式:

首先包括:

<script type='text/javascript' src='//cdn.jsdelivr.net/jquery.marquee/1.4.0/jquery.marquee.min.js'></script>

选框内容:

<div class="marquee">jQuery marquee is the best <b>marquee</b> plugin in the world</div>

包括css:

.marquee {
  width: 300px;
  overflow: hidden;
  border: 1px solid #ccc;
  background: #ccc;
}

使用Javascript:

$('.marquee').marquee();

marquee plugin reference

答案 1 :(得分:1)

  var zxcMarquee = {

            init: function (o) {
                var mde = o.Mode, mde = typeof (mde) == 'string' && mde.charAt(0).toUpperCase() == 'H' ? ['left', 'offsetWidth', 'top', 'width'] : ['top', 'offsetHeight', 'left', 'height'], id = o.ID, srt = o.StartDelay, ud = o.StartDirection, p = document.getElementById(id), obj = p.getElementsByTagName('DIV')[0], sz = obj[mde[1]], clone;
                p.style.overflow = 'hidden';
                obj.style.position = 'absolute';
                obj.style[mde[0]] = '0px';
                obj.style[mde[3]] = sz + 'px';
                clone = obj.cloneNode(true);
                clone.style[mde[0]] = sz + 'px';
                clone.style[mde[2]] = '0px';
                obj.appendChild(clone);
                o = this['zxc' + id] = {
                    obj: obj,
                    mde: mde[0],
                    sz: sz
                }
                if (typeof (srt) == 'number') {
                    o.dly = setTimeout(function () { zxcMarquee.scroll(id, typeof (ud) == 'number' ? ud : -1); }, srt);
                }
                else {
                    this.scroll(id, 0)
                }
            },

            scroll: function (id, ud) {
                var oop = this, o = this['zxc' + id], p;
                if (o) {
                    ud = typeof (ud) == 'number' ? ud : 0;
                    clearTimeout(o.dly);
                    p = parseInt(o.obj.style[o.mde]) + ud;
                    if ((ud > 0 && p > 0) || (ud < 0 && p < -o.sz)) {
                        p += o.sz * (ud > 0 ? -1 : 1);
                    }
                    o.obj.style[o.mde] = p + 'px';
                    o.dly = setTimeout(function () { oop.scroll(id, ud); }, 50);
                }
            }
        }

        function init() {

            zxcMarquee.init({
                ID: 'marquee1',     // the unique ID name of the parent DIV.                        (string)
                Mode: 'Vertical',   //(optional) the mode of execution, 'Vertical' or 'Horizontal'. (string, default = 'Vertical')
                StartDelay: 2000,   //(optional) the auto start delay in milli seconds'.            (number, default = no auto start)
                StartDirection: -1  //(optional) the auto start scroll direction'.                  (number, default = -1)
            });

            zxcMarquee.init({
                ID: 'marquee2',     // the unique ID name of the parent DIV.                        (string)
                Mode: 'Vertical', //(optional) the mode of execution, 'Vertical' or 'Horizontal'. (string, default = 'Vertical')
                StartDelay: 2000,   //(optional) the auto start delay in milli seconds'.            (number, default = no auto start)
                StartDirection: -1  //(optional) the auto start scroll direction'.                  (number, default = -1)
            });

        }

        if (window.addEventListener)
            window.addEventListener("load", init, false)
        else if (window.attachEvent)
            window.attachEvent("onload", init)
        else if (document.getElementById)
            window.onload = init
   .container {
            position: relative;
            width: 300px; /*marquee width */
            height: 300px; /*marquee height */
            overflow: hidden;
            background-color: white;
            border: 3px solid orange;
            padding: 2px;
            padding-left: 4px;
        }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title></title>
    
</head>

<body>
    <div id="marquee1" class="container" onmouseover="zxcMarquee.scroll('marquee1',0);" onmouseout="zxcMarquee.scroll('marquee1',-1);">
        <div style="position: absolute; width: 98%;">

            <ul>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…t-day-15-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – EDUCATION DEVELOPMENT DAY 15.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-03-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – CLUB INAUGURATION – 03.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-18-06-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – FATHER’S DAY CELEBRATION – 18.06.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ation-16-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – RAMZAN CELEBRATION – 16.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ition-20-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – ENVIRONMENT DAY COMPETITION – 20.07.2</a></li>
            </ul>
        </div>
    </div>
       
       
          <div id="marquee2" class="container" onmouseover="zxcMarquee.scroll('marquee2',0);" onmouseout="zxcMarquee.scroll('marquee2',-1);">
        <div style="position: absolute; width: 98%;">

            <ul>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…t-day-15-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – EDUCATION DEVELOPMENT DAY 15.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-03-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – CLUB INAUGURATION – 03.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-18-06-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – FATHER’S DAY CELEBRATION – 18.06.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ation-16-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – RAMZAN CELEBRATION – 16.07.2015</a></li>
                <li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ition-20-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – ENVIRONMENT DAY COMPETITION – 20.07.2</a></li>
            </ul>
        </div>
    </div>
       
</body>


</html>

答案 2 :(得分:0)

您将scrollamount设置为2,删除它并回退到正常的选取框行为。 我已经更新了下面的代码段:

checkbox