繁体   English   中英

尝试随机化 jQuery 中的新闻代码间隔

[英]Trying to randomize a news ticker interval in jQuery

我有一个基于 jQuery 的滚动新闻自动收录器,它使用以毫秒为单位的设置间隔来控制每个新文本部分的显示之间的延迟。 我想随机化延迟,以便更接近地模仿实时新闻提要的外观。

我试过用一些 Math.random javascript 进行试验,其中newsTickerInterval参数是,但JS不是我的母语,我无法让它工作。

这是我的滚动条用于配置显示的 jQuery function:

$(function () {         
$(".demo2").bootstrapNews({
        newsPerPage: 4,
        autoplay: true,
        pauseOnHover: true,
        navigation: false,
        direction: 'down',
        newsTickerInterval: 3000,
        onToDo: function () {
            //console.log(this);
        }
    });       
});

任何提示或建议将不胜感激!

不要使用newsTickerInterval ,而是创建一个 function getNewsTickerDelay ,它会生成一个随机延迟间隔,并在需要时使用setTimeout调用它。

$(function () {         
    $(".demo2").bootstrapNews({
        newsPerPage: 4,
        autoplay: true,
        pauseOnHover: true,
        navigation: false,
        direction: 'down',
        getNewsTickerDelay: function() {
            var minimumInterval = 2000;
            var maximumInterval = 5000;
            var additionalInterval = Math.floor(
                Math.random() * (maximumInterval - minimumInterval)
            );

            return minimumInterval + additionalInterval;
        },
        onToDo: function () {
            //console.log(this);
        }
    });       
});

因此,每次调用超时时,使用getNewsTickerDelay设置另一个随机延迟

- 编辑 -

正如@Barmar所指出的,您可能需要在您的案例中调整插件的实现并实现其内部animate方法以使用您定义的随机间隔而不是固定值。 您只需将该插件的 JS 中的 self.options.newsTickerInterval 替换为self.options.newsTickerInterval self.options.getNewsTickerDelay() 也就是说,如果您愿意改变插件的实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM