悬停时的随机背景图像
Random background image on hover
在我的主页网站上,我有 6 个图块,我想更改悬停效果的背景。我在下面找到了 PHP 脚本,但有些东西无法正常工作
在我的 index.php 标签下面的文件中,U 把下面的代码
<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>
在我的 CSS 文件中,我使用以下代码
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
我是不是漏掉了什么?
css 代码在 css 文件中不起作用。
因为那里有一些 php 代码。
所以如果你想 运行 它,你必须在 php/html 文件中使用 css 代码。
example.php:
<html>
<head>
...
<style>
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
</style>
</head>
<body>
所以您的 index.php 页面可能是这样的:
<html>
<head>
<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>
<style>
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
</style>
</head>
<body>
- 每当您刷新页面时,此代码都会向您显示新的背景图片。
如果你想在每次悬停时显示一个新图像而不需要刷新页面,那么你必须使用 javascript 代码或 javascript + ajax(用于获取新图像作为实时图像) .
已编辑:
为此首先建立一个名为 rmdimage.php
的页面
<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
echo $selectedBg;
你index.php文件:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$("div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1)").hover(function(){
$.get("[path-to-php-folder]/rmdimage.php", function(data, status){
$("div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1)").css('background', 'url(images/bg/' + data +') no-repeat;');
//alert("Data: " + data + "\nStatus: " + status);
});
});
</script>
</head>
<body>
<div class="my-element" style="width:100px; height:100px;">this is my fav element!</div>
您必须将 [path-to-php-folder] 更改为关系 rmdimage.php 文件。
在 rndimage.php 文件中您可以动态调整图像数组 ($bg)
您可以从 mysql 或文件夹中获取它们,...
在我的主页网站上,我有 6 个图块,我想更改悬停效果的背景。我在下面找到了 PHP 脚本,但有些东西无法正常工作
在我的 index.php 标签下面的文件中,U 把下面的代码
<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>
在我的 CSS 文件中,我使用以下代码
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
我是不是漏掉了什么?
css 代码在 css 文件中不起作用。 因为那里有一些 php 代码。 所以如果你想 运行 它,你必须在 php/html 文件中使用 css 代码。 example.php:
<html>
<head>
...
<style>
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
</style>
</head>
<body>
所以您的 index.php 页面可能是这样的:
<html>
<head>
<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>
<style>
div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1):hover
{
background: url(images/bg/<?php echo $selectedBg; ?>) no-repeat;
}
</style>
</head>
<body>
- 每当您刷新页面时,此代码都会向您显示新的背景图片。 如果你想在每次悬停时显示一个新图像而不需要刷新页面,那么你必须使用 javascript 代码或 javascript + ajax(用于获取新图像作为实时图像) .
已编辑:
为此首先建立一个名为 rmdimage.php
的页面<?php
$bg = array('nasa1-400.jpg', 'nasa1-1200.jpg', 'nasa1-640.jpg'); // array of filenames
$i = rand(0, count($bg)-1); // generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
echo $selectedBg;
你index.php文件:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$("div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1)").hover(function(){
$.get("[path-to-php-folder]/rmdimage.php", function(data, status){
$("div.zsm_block_news > div.zsm_block_content > div:nth-child(1) > div:nth-child(1)").css('background', 'url(images/bg/' + data +') no-repeat;');
//alert("Data: " + data + "\nStatus: " + status);
});
});
</script>
</head>
<body>
<div class="my-element" style="width:100px; height:100px;">this is my fav element!</div>
您必须将 [path-to-php-folder] 更改为关系 rmdimage.php 文件。
在 rndimage.php 文件中您可以动态调整图像数组 ($bg)
您可以从 mysql 或文件夹中获取它们,...