Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在满足另一页上的特定条件后更改元素的样式_Javascript_Html_Css_Video - Fatal编程技术网

Javascript 在满足另一页上的特定条件后更改元素的样式

Javascript 在满足另一页上的特定条件后更改元素的样式,javascript,html,css,video,Javascript,Html,Css,Video,我的html代码中有一个指向视频的链接,当用户点击它时,它将在一个新选项卡中打开。我想做的是,当用户观看整个视频(或其中的一半)时,第一页上的链接样式将发生变化(例如改变其颜色)。但是如果用户没有观看整个视频,我不希望第一页中的链接样式发生任何变化。如何使用javascript实现这一点?我认为最好的选择是在localstorage或sessionstorage中设置一个变量(取决于您希望效果持续多长时间)。您必须在播放的视频结束时向localstorage添加一个键,然后根据localstor

我的html代码中有一个指向视频的链接,当用户点击它时,它将在一个新选项卡中打开。我想做的是,当用户观看整个视频(或其中的一半)时,第一页上的链接样式将发生变化(例如改变其颜色)。但是如果用户没有观看整个视频,我不希望第一页中的链接样式发生任何变化。如何使用javascript实现这一点?

我认为最好的选择是在
localstorage
sessionstorage
中设置一个变量(取决于您希望效果持续多长时间)。您必须在播放的视频结束时向
localstorage
添加一个键,然后根据
localstorage
的当前状态更改发送页面上所有链接的样式


然而,这似乎真的很复杂,也没有必要,我认为复杂性可能是用户体验气味的一个指标。如果您能提供更多关于您将如何播放视频的信息,以及为什么用户能够从链接本身看到这一点很重要,这将非常有帮助。

我认为他们有一个比我从您的原始问题中收集到的更简单的用例。如果查看DOM结构,链接的有色部分实际上是链接内部的另一个DOM元素,几乎可以肯定是在服务器级别渲染的。这意味着他们正在保存您已完成的视频,并决定在呈现页面时放置哪个图标。最好看以下示例:在khanacademy网站上,当您观看课程(视频)时,然后返回原始页面(显示内容列表)你可以看到课程标题旁边的小圆圈变成了蓝色。但是如果你不看整个视频,圆圈的颜色不会改变。这样你就可以知道哪些课程你看过,哪些没有看过。我想获得类似的效果。我不知道这是否有帮助:)看我在上面的评论;加上这个,这样你就不会错过了。我明白了。所以我需要服务器端编程,我对此一无所知:)非常感谢Nathan。这真的很有帮助。至少现在我知道我不能只使用JavaScript。