是否可以使用 Javascript 在页面刷新时随机生成预先确定的链接颜色和悬停颜色?
Posted
技术标签:
【中文标题】是否可以使用 Javascript 在页面刷新时随机生成预先确定的链接颜色和悬停颜色?【英文标题】:Is it possible to use Javascript to randomly generate a pre-determined link color and hover color on page refresh? 【发布时间】:2012-04-01 10:28:42 【问题描述】:我从未尝试过使用 javascript,但我只是想知道在花时间学习代码之前是否真的可以做到这一点。
我花了几天时间浏览论坛并尝试使用演示站点上已经生成的代码来了解更改某些属性如何影响整个部分。
我的 CSS 将 'a:link'、'a:active' 和 'a:visited' 指定为一组颜色,并将 a:hover 指定为其补色(#128EED = 颜色,#ED7112 = 补色)。
我希望在加载任何页面时随机选择 8 种预先确定的颜色之一,并将预先确定的随机颜色的补色作为 a:hover 颜色。
在我开始尝试之前,任何信息将不胜感激。
谢谢你和亲切的问候。
【问题讨论】:
Setting CSS pseudo-class rules from JavaScript 的可能重复项 尽管这篇文章可能与上述文章相关,但我想指出,有许多代码新手不知道伪类等特定术语,并且可能必须问一个非常基本的问题才能理解某事......每个人都必须从某个地方开始! 接受的答案是错误的,因为您不能直接设置链接、活动和悬停。我说的问题是重复的,实际上有一个关于如何做到这一点的答案。 【参考方案1】:是的,你可以这样做。您可以通过 javascript 在元素上设置样式,可以创建多个类来为您需要的内容着色并随机应用这些类等。您的问题有多种解决方案,但它非常可行。
此外,如果您从事网络编程,那么学习 javascript 绝不是浪费时间。它可以减轻需要在服务器上来回切换的页面以及添加 html 无法提供或无法轻松提供的功能的压力。
【讨论】:
谢谢。我是一名专业摄影师,但我相信深入了解 js 会很有用,因此我可以自己编辑。【参考方案2】:编辑:无法设置某些样式属性,包括悬停等。但是有解决方法,一个在评论中链接到这个答案。如果误导了你,请见谅。
是的,这是可能的!只需使用这样的东西;假设您有一个名为 ColorArray 的数组,它是一个数组数组(每个子数组都是一对互补色):
我不确定 .style 后面的词是否准确,但它们应该很容易查找。我把它分成 5 行,这样很容易看出发生了什么,但我确信有更好或更压缩的方式来表达这一点。
// choose a random complementary pair
var pair = ColorArray[Math.floor(Math.random() * CollorArray.length)];
// grab elements and assign them style attributes
document.getElementsByTagName("tag").style.link = pair[0]
document.getElementsByTagName("tag").style.active = pair[0]
document.getElementsByTagName("tag").style.visited = pair[0]
// Your complementary color assignment now:
document.getElementsByTagName("tag").style.hover = pair[1]
【讨论】:
非常感谢,我一定会以此为基础,我会让每个人都知道它是如何进行的,以便其他人可以使用该代码。 @JonathonRyan 不客气。我最近学习了 JavaScript,发现这些视频对我很有帮助,你也可以:youtube.com/user/eusmile06/videos?view=1,祝你好运! 答案如何?你不能像这个答案暗示的那样直接设置:link
:active
和:visited
?
@epascarello 你是对的,谢谢你的理解。此链接可能会有所帮助:***.com/questions/714655/…以上是关于是否可以使用 Javascript 在页面刷新时随机生成预先确定的链接颜色和悬停颜色?的主要内容,如果未能解决你的问题,请参考以下文章