尝试在 jQuery 中随机化新闻行情间隔

Trying to randomize a news ticker interval in jQuery

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

我试过一些 Math.random javascript 参数所在的 newsTickerInterval,但 JS 不是我的母语,我在制作时遇到了问题它有效。

这是我的滚动条用来配置显示的 jQuery 函数:

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

如有任何提示或建议,我们将不胜感激!

不使用 newsTickerInterval,而是创建一个生成随机延迟间隔的函数 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.getNewsTickerDelay()。也就是说,如果您愿意改变插件的实现。