javascript - JS/JQuery 隐藏元素、更改文本、显示元素

标签 javascript jquery html css

我正在努力实现以下体验:

  • 向下滑动文字隐藏
  • 将文本更改为存储在数组中的值(在文本完全隐藏之前不要更改文本)
  • 向上滑动文字显示

不断发生的是文本在元素完全隐藏之前发生变化。这是在页面加载时运行的函数...

var welcomeText = function() {
var welcome = ["Bienvenue.", "Willkommen.", "Benvenuto.", "Bienvenido.", "Welkom", "欢迎", "Fáilte.", "Nau mai", "Welcome."],
    title = $(".home-title"),
    counter = 0;

setInterval(function() {
    title.animate({"bottom":"-100%"},200);
    title.text(welcome[counter]);
    counter++;
    title.animate({"bottom":""},200);
    if(counter >= welcome.length) {
        counter = 0;
    }
}, 3000);
}

最佳答案

使用动画函数的完整参数。函数内部的代码只会在动画函数结束时执行。

title.animate({"bottom":"-100%"},200,function() {
  title.text(welcome[counter]);
  counter++;
  title.animate({"bottom":""},200);
  if(counter >= welcome.length) {
    counter = 0;
  }
});

关于javascript - JS/JQuery 隐藏元素、更改文本、显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464440/

相关文章:

html - Foundation 5 顶部导航下拉列表中的任意内容?

css - 标题、h1 和导航- 使导航不可移动

javascript - 尝试将一个元素加载到另一个元素时出现意外字符串

javascript - 如何解析来自推特的 json 响应

java - 使用 jQuery 动态更改输入值不会操作 JSF 组件的 ajax onchange 事件

javascript - 在 Javascript 中处理多维 HTML 数组

javascript - PDF.js 在打印时插入空白页

javascript - 用于激活从一个 div 切换到另一个 div 的按钮

javascript - 提高 else-if 链的性能

javascript - true 时 jQuery 禁用选项