Jump to content

Recommended Posts

Hi everyone,

 

I am new here.  Thank you in advance for helping me.

 

I have a count down day and time JS script.  I want to put it in to my footer page of my website.  The JS script told me to insert a part in the head section, and a part in the body section of a HTML page.  But I only got a php page and a page of tpl.  Both of them do not have head section.  What should I do?  Do I need to create a HTML page with the JS script?  Or do I just leave it as a JS script page?  And how do I call the function? 

 

My JS script is as follow:

 

Step 1: Insert the below script into the HEAD section of your page:

<style style="text/css">

 

.lcdstyle{ /*Example CSS to create LCD countdown look*/

background-color:black;

color:yellow;

font: bold 18px MS Sans Serif;

padding: 3px;

}

 

.lcdstyle sup{ /*Example CSS to create LCD countdown look*/

font-size: 80%

}

 

</style>

 

<script type="text/javascript">

 

/***********************************************

* Dynamic Countdown script- © Dynamic Drive (http://www.dynamicdrive.com)

* This notice MUST stay intact for legal use

* Visit http://www.dynamicdrive.com/ for this script and 100s more.

***********************************************/

 

function cdtime(container, targetdate){

if (!document.getElementById || !document.getElementById(container)) return

this.container=document.getElementById(container)

this.currentTime=new Date()

this.targetdate=new Date(targetdate)

this.timesup=false

this.updateTime()

}

 

cdtime.prototype.updateTime=function(){

var thisobj=this

this.currentTime.setSeconds(this.currentTime.getSeconds()+1)

setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second

}

 

cdtime.prototype.displaycountdown=function(baseunit, functionref){

this.baseunit=baseunit

this.formatresults=functionref

this.showresults()

}

 

cdtime.prototype.showresults=function(){

var thisobj=this

 

 

var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds

if (timediff<0){ //if time is up

this.timesup=true

this.container.innerHTML=this.formatresults()

return

}

var oneMinute=60 //minute unit in seconds

var oneHour=60*60 //hour unit in seconds

var oneDay=60*60*24 //day unit in seconds

var dayfield=Math.floor(timediff/oneDay)

var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)

var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)

var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))

if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level

hourfield=dayfield*24+hourfield

dayfield="n/a"

}

else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level

minutefield=dayfield*24*60+hourfield*60+minutefield

dayfield=hourfield="n/a"

}

else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level

var secondfield=timediff

dayfield=hourfield=minutefield="n/a"

}

this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)

setTimeout(function(){thisobj.showresults()}, 1000) //update results every second

}

 

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

 

//Create your own custom format function to pass into cdtime.displaycountdown()

//Use arguments[0] to access "Days" left

//Use arguments[1] to access "Hours" left

//Use arguments[2] to access "Minutes" left

//Use arguments[3] to access "Seconds" left

 

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()

//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"

//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc

 

 

function formatresults(){

if (this.timesup==false){//if target date/time not yet met

var displaystring=arguments[0]+" days "+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds left until March 23, 2009 18:25:00"

}

else{ //else if target date/time met

var displaystring="Future date is here!"

}

return displaystring

}

 

function formatresults2(){

if (this.timesup==false){ //if target date/time not yet met

var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>days</sup> "+arguments[1]+" <sup>hours</sup> "+arguments[2]+" <sup>minutes</sup> "+arguments[3]+" <sup>seconds</sup></span> left until this Christmas"

}

else{ //else if target date/time met

var displaystring="" //Don't display any text

alert("Christmas is here!") //Instead, perform a custom alert

}

return displaystring

}

 

</script>

Step 2: Insert the below example script into the BDOY section of your page where you wish the countdown to be shown:

 

<div id="countdowncontainer"></div>

<br />

<div id="countdowncontainer2"></div>

 

<script type="text/javascript">

 

var futuredate=new cdtime("countdowncontainer", "March 23, 2009 18:25:00")

futuredate.displaycountdown("days", formatresults)

 

var currentyear=new Date().getFullYear()

//dynamically get this Christmas' year value. If Christmas already passed, then year=current year+1

var thischristmasyear=(new Date().getMonth()>=11 && new Date().getDate()>25)? currentyear+1 : currentyear

var christmas=new cdtime("countdowncontainer2", "December 25, "+thischristmasyear+" 0:0:00")

christmas.displaycountdown("days", formatresults2)

 

</script>

 

 

My footer.php is as follow:

 

<?php

 

if (isset($smarty))

{

$smarty->assign(array(

'HOOK_RIGHT_COLUMN' => Module::hookExec('rightColumn'),

'HOOK_FOOTER' => Module::hookExec('footer'),

'content_only' => intval(Tools::getValue('content_only'))));

$smarty->display(_PS_THEME_DIR_.'footer.tpl');

}

 

?>

 

my footer.tpl is as follow:

 

{if !$content_only}

</div>

 

<!-- Right -->

<div id="right_column" class="column">

{$HOOK_RIGHT_COLUMN}

</div>

 

<!-- Footer -->

<div id="footer">{$HOOK_FOOTER}</div>

</div>

{/if}

</body>

</html>

 

 

How do I make the JS script show up at the right bottom of my footer?  Thanks a lot.

I don't think anyone is going to read all of that. other then that this is a javascript thing and not php.

 

but anyway if you look at the page where you got the script from

http://www.dynamicdrive.com/dynamicindex6/dhtmlcount.htm

 

i see the following description

 

 

 

new cdtime("ID_of_DIV_container", "target_date")

1. ID_of_DIV_container (string): The ID of the DIV or span that will display the count down.

 

It is not what the position of the script should be but what you replace ID_of_DIV_container with

 

 

 

 

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.