Javascript 如何在某些情况下突出显示表中的行

Javascript 如何在某些情况下突出显示表中的行,javascript,css,Javascript,Css,我不熟悉css或javascript,我想知道如何有一个通知突出显示类似的情况下,当一个人在Facebook上发表评论,点击,你会被引导到所说的评论与临时突出显示 提前感谢看来您有一些问题需要解决。我将引导您了解每个问题背后的逻辑。其中一些问题已经在网上发布了解决方案,因此在这些情况下,我已将您链接到相应的页面 1)对元素上的单击作出响应 2)滚动至页面的特定部分 3)突出显示元素 这涉及到更改html元素的属性,例如背景色。这可以通过使用javascript更改类来实现,并在元素具有正确的

我不熟悉css或javascript,我想知道如何有一个通知突出显示类似的情况下,当一个人在Facebook上发表评论,点击,你会被引导到所说的评论与临时突出显示


提前感谢

看来您有一些问题需要解决。我将引导您了解每个问题背后的逻辑。其中一些问题已经在网上发布了解决方案,因此在这些情况下,我已将您链接到相应的页面

1)对元素上的单击作出响应

2)滚动至页面的特定部分

3)突出显示元素

这涉及到更改html元素的属性,例如背景色。这可以通过使用javascript更改类来实现,并在元素具有正确的类时使用css来改变元素的样式

CSS:

JS:

现在,您只需在适当的时间运行该行javascript(在滚动结束后-步骤2应提供如何执行此操作的详细信息)

4)延迟后删除突出显示

利用javascript的
setTimeout
函数在延迟后删除
高亮显示
类:

JS:


看起来你有一些问题需要解决。我将引导您了解每个问题背后的逻辑。其中一些问题已经在网上发布了解决方案,因此在这些情况下,我已将您链接到相应的页面

1)对元素上的单击作出响应

2)滚动至页面的特定部分

3)突出显示元素

这涉及到更改html元素的属性,例如背景色。这可以通过使用javascript更改类来实现,并在元素具有正确的类时使用css来改变元素的样式

CSS:

JS:

现在,您只需在适当的时间运行该行javascript(在滚动结束后-步骤2应提供如何执行此操作的详细信息)

4)延迟后删除突出显示

利用javascript的
setTimeout
函数在延迟后删除
高亮显示
类:

JS:


您可以使用CSS3
动画
属性。只需确保添加
-webkit-
供应商前缀,即可在所有主要浏览器中使用。其他CSS3属性所需的供应商前缀可在中找到

诀窍是向要高亮显示的元素添加一个特殊类,并使用CSS将动画应用于该类

试试看:

.post{
填充:1em;
边缘:2米;
背景:#ffffff;
边框:1px实心#嵌入式;
}
.post.highlighted{
-webkit动画:突出6s轻松;
动画:突出6s轻松;
}
@-webkit关键帧高亮显示{
来自{背景:#ddff}
致{背景:#ffffff}
}
@关键帧高亮显示{
来自{背景:#ddff}
致{背景:#ffffff}
}

这只是一篇普通的帖子


但这是新的

您可以使用CSS3
动画
属性。只需确保添加
-webkit-
供应商前缀,即可在所有主要浏览器中使用。其他CSS3属性所需的供应商前缀可在中找到

诀窍是向要高亮显示的元素添加一个特殊类,并使用CSS将动画应用于该类

试试看:

.post{
填充:1em;
边缘:2米;
背景:#ffffff;
边框:1px实心#嵌入式;
}
.post.highlighted{
-webkit动画:突出6s轻松;
动画:突出6s轻松;
}
@-webkit关键帧高亮显示{
来自{背景:#ddff}
致{背景:#ffffff}
}
@关键帧高亮显示{
来自{背景:#ddff}
致{背景:#ffffff}
}

这只是一篇普通的帖子

但这是新的

.element {
    background-color: #0000ff; /* A blue background by default */
}
.element.highlighted {
    background-color: #ff0000; /* A red background when the element is highlighted */
}
document.getElementsByClassname('element')[0].setAttribute('class', 'element highlighted');
setTimeout(function() {
    document.getElementsByClassname('element')[0].setAttribute('class', 'element'); // Replace "element highlighted" with just "element"
}, 1000); // 1000 means a one-second delay