我可以提出不同的解决方案吗?我希望这比您当前的尝试要容易一些。
如果你有一些这样的 HTML:
<div class="lyrics">
<div class="line">I went down to the demonstration</div>
<div class="line">To get my fair share of abuse</div>
<div class="line">Singing, We're gonna vent our frustration</div>
<div class="line">If we don't we're gonna blow a 50-amp fuse</div>
</div>
这样每个“行”都是它自己的元素,那么它使您的代码可以很容易地以一定间隔逐行循环遍历歌词。这可能是歌词、活页乐谱,甚至是音频字幕……
当您循环浏览这些行时,您可以针对每一行并添加和删除类。您不必使用 jQuery 库,但我非常广泛地使用它,因此您可以执行以下操作:
// before transition
$(this).removeClass('highlight');
$(this).next('.line').addClass('highlight');
然后在 CSS 中只给“.line.highlight”或“.lyrics .highlight”一些样式定义:
.lyrics .highlight {
font-weight:bold;
background:#ccc;
}
然后将继承诸如宽度和高度之类的东西,您可以通过调用来引用它们:
$(this).css('width');
jQuery - css() - http://api.jquery.com/css/
jQuery - next() - http://api.jquery.com/next/
jQuery - removeClass() - http://api.jquery。 com/removeclass/
jQuery - addClass() - http://api.jquery.com/addclass/