【问题标题】:Text change when background colour changes using Javascript使用Javascript更改背景颜色时的文本更改
【发布时间】:2014-04-22 17:35:24
【问题描述】:

下面是我用于更改网站背景颜色的 Javascript,但是当颜色发生这种变化时,有没有办法更改页面正文中的文本?

function changeColor(element, curNumber){
curNumber++;

if(curNumber > 4){
    curNumber = 1;
}
console.log(curNumber);
element.addClass('color' + curNumber, 500);
// So previous classes get removed.
element.attr('class', 'color' + curNumber);
setTimeout(function(){changeColor(element, curNumber)}, 1000);  
}
changeColor($('#testElement'), 0);

【问题讨论】:

  • 是的,当颜色发生变化时,您应该可以更改正文中的文本,设置一个小提琴供我们试验。它绝对不是重复的@Freak_Droid
  • @JayBlanchard 感谢您抽出宝贵时间回答。我确实有一个 JS Fiddle,我目前正在查看它是 jsfiddle.net/loktar/7peJT/6

标签: javascript jquery html text timer


【解决方案1】:

只需将文本放在一个数组中,(使用 jquery 从某些元素中获取它 - 无论你想要它)迭代它并在更改颜色时使用 html() 函数更改 div 内的内容。

对代码的简单修改类似于

function changeColorAndText(element, curNumber){
 curNumber++;
 if(curNumber > 4){
    curNumber = 1;
 }
 element.addClass('color' + curNumber, 500);
 element.html(arr[curNumber]);
 element.attr('class', 'color' + curNumber);
 setTimeout(function(){changeColorAndText(element, curNumber)}, 1000);  
}
var arr = ['hi','hello ','how ','are ','you '];
changeColorAndText($('#testElement '), 0);

JSFiddle

【讨论】:

  • 非常感谢 TJ,你是明星!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多