每次访问都要改变背景

时间:2015-07-31 09:24:21

标签: javascript php html

每当有人访问网页时,如何才能对背景进行更改,例如: 5图片,当我访问页面的eveytime还有另一个背景,那应该是cookies,对吗? 但我不希望在用户登录页面时进行后台更改,例如自动,只需刷新。 谢谢,任何帮助真的很感激。

3 个答案:

答案 0 :(得分:1)

如果您正在寻找基于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';

答案 1 :(得分:0)

你可以用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";
    }

答案 2 :(得分:0)

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

<?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;}