javascript - jQuery 淡入淡出循环问题

标签 javascript jquery html css optimization

我正在制作一个结果屏幕,该屏幕在向用户显示他们的最佳时间/分数和最新时间​​/分数之间切换。我找到了一个 solution使用这个网站,但在让网站打开几个小时后,我发现时间已经不同步了。我知道这很难测试,所以我想看看这里是否有任何专家可以帮助我优化或修复我的代码。

CODEPEN JSFIDDLE

JS

$(document).ready(function() {

  setInterval( function() { resultsTransition(); }, 4000);

  function resultsTransition() {
    $('.latest-transition').fadeOut(500).delay(3500).fadeIn(500).delay(3500);
    $('.best-transition').fadeIn(500).delay(3500).fadeOut(500).delay(3500);
  }
});

最佳答案

我认为您的设计可以通过简单地切换 resultsTransition 方法中元素的不透明度而不是开始一个新的序列来改进(并解决不同步的问题),这可能会干扰不可预测的间隔。

类似于:

var latestTransitionElementVisible = true; //the initial state of your elements

setInterval(resultsTransition, 4000); //note you can just pass the function name

function resultsTransition() {
    $('.latest-transition').fadeTo(500, latestTransitionElementVisible ? 0 : 1);
    $('.best-transition').fadeTo(500, latestTransitionElementVisible ? 1 : 0);
    latestTransitionElementVisible = !latestTransitionElementVisible ;
}

关于javascript - jQuery 淡入淡出循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21572768/

相关文章:

jquery - 响应图像(Slick Slider + SlideToggle)

asp.net - 如何引用匿名 JavaScript 函数?

css - 没有正确分割div

html - 文本框重叠标签

javascript - 如何返回正确的月份?

javascript - Flow 中的子类型化内置类型

jquery - 使用插件位于左侧的表情符号符号和左侧的表情符号框

javascript - 忽略图像中透明部分的鼠标交互并将其分配给下图

c# - 如何根据位于 updatePanel 中的 DataGrid 中所做的行选择来更新控件 [DataGrid、TextBoxes 和 Label]?

javascript - 翻转内容演示中的翻转 div 在 IE9 中不起作用