繁体   English   中英

每次访问都更改背景

[英]Change background on every visit

每次有人访问页面时背景如何变化,例如:5张图片,我访问页面时的传送时间还有另一个背景,应该在cookie中,对吗? 但是我不希望用户在页面上时进行后台更改,例如自动刷新。 谢谢,任何帮助真的很感激。

如果您正在寻找基于PHP的解决方案,则可以根据需要调整该代码:

<?php

$backgrounds = array(
    'assets/backgrounds/0.jpg',
    'assets/backgrounds/1.jpg',
    'assets/backgrounds/2.jpg',
    'assets/backgrounds/3.jpg',
    'assets/backgrounds/4.jpg'
);

$expirity = time() + 81400; /* change it to whatever you want */

if ( isset( $_COOKIE['custom_background'] ) ) {

    $backgroundIndex  = ( $_COOKIE['custom_background'] < ( sizeof( $backgrounds ) - 1 ) ) ? $_COOKIE['custom_background'] + 1 : 0;

    setcookie( 'custom_background', $backgroundIndex, $expirity, '/' );

} else {

    setcookie( 'custom_background', 0, $expirity, '/' ); /* initial background will be first array element */

}

然后,在模板中,您可以显示背景图像路径,如下所示:

echo isset( $_COOKIE['custom_background'] ) ? $backgrounds[ $_COOKIE['custom_background'] ] : 'some-default-background.jpg';

您可以使用javascript。 首先,您可以读出一个cookie。 在Cookie中,您可以找到访问次数。 通过访问次数,您可以更改背景色。

  var name = "visitCount" + "="; var ca = document.cookie.split(';'); var cookieContent; for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) == 0) { cookieContent = c.substring(name.length,c.length); } else { cookieContent = ""; } } if(cookieContent != "") { if(cookieContent == "1") { document.body.style.backgroundColor = "yellow"; document.cookie= "visitCount=2"; } else if(cookieContent == "2") { document.body.style.backgroundColor = "red"; document.cookie= "visitCount=3"; } } else { //first visit document.body.style.backgroundColor = "black"; document.cookie= "visitCount=1"; } 

最简单的解决方案。 比以前的答案更好。 这使用更少的代码:在页面顶部(非常重要)!

<?php $bg = array('bglink1', 'bglink2', 'bglink3');$i = rand(0, count($bg)-1);$selectedBg = "$bg[$i]";?>

还有页面内的CSS

body {background:url(<?php echo $selectedBg; ?>) no-repeat center center fixed;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM