基于随机化CSS文件生成文本

2admgd59  于 2023-02-01  发布在  其他
关注(0)|答案(2)|浏览(162)

我的网页有一个随机的CSS函数,工作正常:

<link rel="stylesheet" href="/css/<?php echo(mt_rand(1,7));?>.css" />

但是我希望根据选择的CSS文件显示文本,每个文件都有一个名称,所以对于“Copenhagen”CSS表,我希望它显示文本,“这个样式表叫做Copenhagen”。
现在我尝试基于 .skills-title 的背景色输出文本,现在是黑色、白色或其他颜色(“Fail”)。但是它根本没有输出任何内容。我认为这是因为样式表是随机的,所以我不能在代码中调用特定的样式表。

var color = $('.skills-title').css('background-color');

if (color == 'rgb(255, 255, 255)') {
  document.write("Copenhagen");
} else if (color == 'rgb(0, 0, 0)') {
  document.write("Paris");
} else {
  document.write("Fail");
}

在玩了几个小时大量不同的代码之后,我感觉被卡住了。

1l5u6lss

1l5u6lss1#

如果要根据CSS文件的名称显示文本,可以尝试以下代码。可以使用CSS文件名向HTML元素添加类,然后使用JavaScript选择该元素并检索其类名以显示文本。

var stylesheet = $('head link').attr('class');

if (stylesheet == 'copenhagen') {
  document.write("This stylesheet is called Copenhagen.");
} else if (stylesheet == 'paris') {
  document.write("This stylesheet is called Paris.");
} else {
  document.write("This stylesheet is not recognized.");
}
<html>
  <head>
    <link rel="stylesheet" href="copenhagen.css" class="copenhagen">
  </head>
  <body>
    <div class="skills-title">Skills</div>
  </body>
</html>
798qvoo8

798qvoo82#

您可以尝试将一个idtitle设置为您的Link标记,这样您就可以在vanilla js中获得它,如下所示:

// supposing you created it like: <link id="mylink" title="mylinktitle" rel="stylesheet" href="/css/<?php echo(mt_rand(1,7));?>.css" />

let element = document.querySelector("link[title=mylinktitle]")

// or 

let element = document.getElementById("mylink");

使用元素对象,您可以检查任何内容并显示您想要的名称。
或者,您可以尝试在title中发送名称并使用静态id,这样您就可以基于某个id获取元素并显示关联的title

相关问题