Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery通过多个标记器进行旋转_Javascript_Jquery_Html_Css_Ticker - Fatal编程技术网

Javascript jQuery通过多个标记器进行旋转

Javascript jQuery通过多个标记器进行旋转,javascript,jquery,html,css,ticker,Javascript,Jquery,Html,Css,Ticker,所以我有3个新闻标签,我想显示在页面的顶部。 (旁注:这些不是为网站设计的,它们是我公司更大的内部营销展示的一部分。该页面只会加载一次,然后永远放在一个70英寸的四块电视屏幕上) 我正试着在这两种股票之间轮换。我想从第一个转到第二个,再转到第三个,然后重新开始。所有这一切都必须在股票行情器在其内部的所有li中旋转之后发生 我想出了一个从第一个到第二个的方法,但无法通过 if (tick1.css('opacity') == '1') setTimeout(function() {

所以我有3个新闻标签,我想显示在页面的顶部。 (旁注:这些不是为网站设计的,它们是我公司更大的内部营销展示的一部分。该页面只会加载一次,然后永远放在一个70英寸的四块电视屏幕上)

我正试着在这两种股票之间轮换。我想从第一个转到第二个,再转到第三个,然后重新开始。所有这一切都必须在股票行情器在其内部的所有li中旋转之后发生

我想出了一个从第一个到第二个的方法,但无法通过

 if (tick1.css('opacity') == '1')
    setTimeout(function() {
      tick1.hide();
      tick2.show();
    }, $('.tick1 ul li').length * 1000);
注意:在下面的提琴中,我的js从第222行开始。所有其他js都由Aakash Chakravarthy提供


尝试用此代码替换您的代码,以便它检查勾号是否隐藏,如果没有,它将启动循环的超时


试着用这个替换你的代码,这样它就会检查记号是否隐藏,如果没有,它就会开始超时循环


这是你要找的东西吗

var tickers = ['.tick1','.tick2','.tick3'];

for(var i=0;i<tickers.length;i++){

    (function(i){

      var $currentTicker = $(tickers[i]);
      var $nextTicker;

      if(i==tickers.length-1)
        $nextTicker= $(tickers[0]);
      else 
        $nextTicker= $(tickers[i+1]);


      setTimeout(function() {
          $currentTicker.hide();
          $nextTicker.show();
      },$currentTicker.find('ul li').length * 1000 * (i+1));

    })(i);
}
var tickers=['.tick1','.tick2','.tick3'];

对于(var i=0;i这是您正在寻找的吗

var tickers = ['.tick1','.tick2','.tick3'];

for(var i=0;i<tickers.length;i++){

    (function(i){

      var $currentTicker = $(tickers[i]);
      var $nextTicker;

      if(i==tickers.length-1)
        $nextTicker= $(tickers[0]);
      else 
        $nextTicker= $(tickers[i+1]);


      setTimeout(function() {
          $currentTicker.hide();
          $nextTicker.show();
      },$currentTicker.find('ul li').length * 1000 * (i+1));

    })(i);
}
var tickers=['.tick1','.tick2','.tick3'];

对于(var i=0;iYou真的不应该像现在这样依赖于时间。您应该向Aakash Chakravarthy提供的代码添加一个回调,它将告诉您何时循环到下一个“标题”。你真的不应该像现在这样依赖于时间。你应该给Aakash Chakravarthy提供的代码添加一个回调,它会告诉你什么时候循环到下一个“标题”。这不符合提问者的要求;它不会循环回到开始。看那个小提琴。它从第一个元素开始直到结束。好的。顺便检查一下你的代码。它不工作。你正在阻止ui线程。我是?哦,谢谢。这可能是它运行非常糟糕的原因(或者它又是我的计算机)@RonnieEXP我为一个相同问题的无限循环机制添加了另一个提琴。这并不像提问者想要的那样有效;它不会循环回到开始。看看那个提琴。它从第一个元素开始,直到结束。好的。顺便检查一下你的代码。它不起作用。你正在阻塞ui线程。是吗?哦,谢谢。那是这可能是它运行非常糟糕的原因(或者它又是我的电脑)。@RonnieEXP我又为同样问题的无限循环机制添加了一把小提琴