Furthermore, the files are named the same as in the script: “spring, summer, autumn, and winter,” and are in the “images” folder within the same directory.
You can use this for the Day / Night switch. http://bit.ly/bEB7x1 That way you switch the CSS file depending on time (that’d work if the image was a background image, etc.)
Used this code to change page header 26 times per year. Discovered if you put a start date like December 21 and a stop date January 4 – to purpose being to cross over from the old year to the new year – since this code does not include the year – it screws the math up when it tries to count what day of the year it is…..
function dayofyear(d) { // d is a Date object
var yn = d.getFullYear();
var mn = d.getMonth();
var dn = d.getDate();
var d1 = new Date(yn,0,1,12,0,0); // noon on Jan. 1
var d2 = new Date(yn,mn,dn,12,0,0); // noon on input date
var ddiff = Math.round((d2-d1)/864e5);
return ddiff+1; }
Then, compare it:
var curdate=new Date(); // gets today's date
var cdnum=dayofyear(curdate);
if ( cdnum < 79) { season = "winter"; }
else if ( cdnum < 171) { season = "spring"; }
else if ( cdnum < 265) { season = "summer"; }
else if ( cdnum < 354) { season = "autumn"; }
else season = "winter";
And with a simple help of jQuery (or you can use some different library), you can add the season class to the desired object:
You can use (almost) exactly the same PHP. Instead of paths to your image files, specify paths to your CSS files. You may want to change $image_path to $css_path just for the sake of clarity.
Would love to figure out how to do this with not just an image, but an image rollover. Not sure your method is the way to go, however (because I don’t know enough about PHP).
Is there any way you can add the year to the php? I have a client that is using this for Holidays, since holidays change from year to year I just like to know if this is possible?
In the days of Autumn, I accidentally put autumn starts on Sep. 22. That needs to be changed to Sep 23.
Fixed.
In the interests of efficiency, it might be better to simply know what number day of the year each season starts on, then compare. So like:
<php
$day = date(“z”);
if( $day < 79) $season = "winter";
elseif( $day < 171) $season = "spring";
elseif( $day < 265) $season = "summer";
elseif( $day < 354) $season = "autumn";
else $season = "winter";
?>
yep.. or:
$today = getdate();
$today = $today['mon'];
if ($today>=1 && $today=3 && $today=6 && $today<=8) return 'summer';
else return 'autumn';
omg.. sorry
=1 && $today=3 && $today=6 && $today
I’m having trouble with this script.
I have created a PHP file, “current_season.php” in the same directory as my Web page.
I have included in the Web page
<?php include 'current_season.php'; ?&rt;I have included in the Web page
<img src="<?php current_season() ?&rt;"&rt;<but it is not working.
Any help, please?
Furthermore, even if I put the php scripting in the head of my Web page, it doesn’t work when I attempt to display the image.
I’m wanting to put the php script in a .php file instead of on each individual page.
Furthermore, the files are named the same as in the script: “spring, summer, autumn, and winter,” and are in the “images” folder within the same directory.
How can you alter this to do a time check, if AM, display AM image, if night, display a night image..
You can use this for the Day / Night switch. http://bit.ly/bEB7x1 That way you switch the CSS file depending on time (that’d work if the image was a background image, etc.)
Sean,
In this section of code:
<img src="” alt=”" />
Make sure you have a “;” at the end of current_season().
After correction:
<img src="” alt=”" />
Hope this helps, when I used it I was able to display the image just fine.
Used this code to change page header 26 times per year. Discovered if you put a start date like December 21 and a stop date January 4 – to purpose being to cross over from the old year to the new year – since this code does not include the year – it screws the math up when it tries to count what day of the year it is…..
Hello there i get a error in me firebug dialog:
Failed to load given url when i hover the following line:
<img src="” alt=”" />
Already uploaded the images in the correct folder
Anyone has a suggestion?
I would love to accomplish the same script with a css file. How hard would that be?
JavaScript can help you with that ;)
First, define a function (written by Juuitchan from http://www.webdeveloper.com/forum/showthread.php?t=125428 ):
Then, compare it:
And with a simple help of jQuery (or you can use some different library), you can add the season class to the desired object:
You can use (almost) exactly the same PHP. Instead of paths to your image files, specify paths to your CSS files. You may want to change
$image_pathto$css_pathjust for the sake of clarity.Then in your HTML, instead of using
<img src="<?php current_season() ?>" alt="" />in the
<body>of your page, just use<link rel="stylesheet" href="<?php current_season() ?>" type="text/css" />in the
<head>of your page.Just make sure that the PHP appears BEFORE the CSS link.
If u provide demos regarding the articles posted.. it will be quiet useful..
Would love to figure out how to do this with not just an image, but an image rollover. Not sure your method is the way to go, however (because I don’t know enough about PHP).
Very good. Now how would one preload the images first since this is really useful to display some fantastic large size background image. many thanks.
Wondering if it’s possible to have hyperlinks that would force a particular season to give visitors the chance to preview the other seasons?
Use a session, Phillip. :)
Is there any way you can add the year to the php? I have a client that is using this for Holidays, since holidays change from year to year I just like to know if this is possible?