是否可以使用Javascript在页面刷新时随机生成预先确定的链接颜色和悬停颜色

Is it possible to use Javascript to randomly generate a pre-determined link color and hover color on page refresh?

本文关键字:颜色 链接 悬停 Javascript 可以使 随机 刷新 是否      更新时间:2023-09-26

我从未尝试过javascript,但我只是想在花时间学习代码之前知道是否真的可以做到这一点。

我花了几天时间浏览论坛,并尝试使用演示网站上已经生成的代码来了解更改某些属性对整个部分的影响。

我的CSS指定"a:link"、"a:active"answers"a:visited"为设置颜色,a:hover为其补色(#128EED=color,#ED7112=complementary)。

我希望在加载任何页面时,从8种预先确定的颜色中随机选择一种,并且预先确定的随机颜色的补色为a:hover颜色。

在我开始尝试做这件事之前,任何信息都将不胜感激。

谢谢你并致以亲切的问候。

是的,你可以做到。你可以通过javascript在一个元素上设置样式,你可以创建几个类来为你需要的东西着色,并随机应用这些类,等等。有多种解决方案可以解决你的问题,但这是非常可行的。

此外,如果你是网络编程,学习javascript永远不会浪费时间。它可以减轻页面往返于服务器的压力,并添加HTML无法提供或不容易提供的功能。

EDIT:不可能设置某些样式属性,包括悬停等。但有一些解决方法,其中一个方法在注释中链接到此答案。如果我误导了你,我深表歉意。

是的,这是可能的!就用这样的东西;假设你有一个名为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]