包含在DIV样式背景中

PHP Include inside DIV Styles Background

本文关键字:背景 样式 DIV 包含      更新时间:2023-09-26

我有一个旋转的图像,每天变化,我试图使这个div的背景图像,所以我可以有一个菜单在它。出于某种原因,它只是显示包含文件中的所有信息,而不是显示日常图像?

<div styles="background-image: url(<?php include('includes/promotions.php'); ?>)">MENU</div>

在include文件中:

<SCRIPT LANGUAGE="JavaScript">
today = new Date();
day = today.getDay();
arday = new Array("images/daily-offers/sunday.png", "images/daily-offers/monday.png", "images/daily-offers/tuesday.png", "images/daily-offers/wednesday.png", "images/daily-offers/thursday.png", "images/daily-offers/friday.png", "images/daily-offers/saturday.png");
document.write("<img src='"+arday[day]+"'>");
</script>`
我对这个有点陌生,但我很感谢你的帮助!

您试图将javascript放入div的style属性中,这是不可能的。要么你需要有php代码提出的文件名,而不是使用一个包含,或者你需要创建的div给它一个id使用javascript(在div的风格之外)来改变背景图像。

<div id='changeme'>Menu</div>
<SCRIPT LANGUAGE="JavaScript">
    today = new Date();
    day = today.getDay();
    arday = new Array("images/daily-offers/sunday.png", "images/daily-offers/monday.png", "images/daily-offers/tuesday.png", "images/daily-offers/wednesday.png", "images/daily-offers/thursday.png", "images/daily-offers/friday.png", "images/daily-offers/saturday.png");
    //ASSUMING YOU HAVE JQUERY
    $('#changeme').css('background-image',arday[day]);
</SCRIPT>

或者直接使用php:

<?php
$arday = array("images/daily-offers/sunday.png", "images/daily-offers/monday.png", "images/daily-offers/tuesday.png", "images/daily-offers/wednesday.png", "images/daily-offers/thursday.png", "images/daily-offers/friday.png", "images/daily-offers/saturday.png");
$day = date('w');
?>
<div styles="background-image: url('<?php echo $arday[$day]; ?>')">MENU</div>

或者如果图像的命名约定总是相同的,您可以简单地执行:

<div styles="background-image: url('images/daily-offers/<?php echo strtolower(date('l')); ?>.png')">MENU</div>

你可以这样设置backgroundImage:

document.getElementById("mymenu").style.backgroundImage="url(...)";

你的代码可以这样写:

<div id="mymenu">MENU</div>
<SCRIPT LANGUAGE="JavaScript">
today = new Date();
day = today.getDay();
arday = new Array("images/daily-offers/sunday.png", ...);
document.getElementById("mymenu").style.backgroundImage="url('"+arday[day]+"')";
</script>`

你不能在这样的属性中执行javascript。

您可以尝试将includes/promotions.php文件的内容更改为以下内容:

<?php
$day = strtolower(date('l'));
echo '<img src="images/daily-offers/' . $day . '.png">';
?>

另外,您的div上的属性应该是style,而不是styles

我不会使用PHP这样做。我会把下面的javascript代码放在你现在显示的带有背景的div的页面上。

<div id="bgdiv">MENU</div>
<SCRIPT LANGUAGE="JavaScript">
    today = new Date();
    day = today.getDay();
    arday = new Array("images/daily-offers/sunday.png", "images/daily-offers/monday.png", "images/daily-offers/tuesday.png", "images/daily-offers/wednesday.png", "images/daily-offers/thursday.png", "images/daily-offers/friday.png", "images/daily-offers/saturday.png");
    document.getElementById('bgdiv').style.backgroundImage = "url(' + arday[day] + ')";
</script>