jacksonH Posted December 17, 2008 Share Posted December 17, 2008 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. Quote Link to comment https://forums.phpfreaks.com/topic/137324-how-and-where-to-insert-a-js-script-into-a-php-page/ Share on other sites More sharing options...
RichardRotterdam Posted December 17, 2008 Share Posted December 17, 2008 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 Quote Link to comment https://forums.phpfreaks.com/topic/137324-how-and-where-to-insert-a-js-script-into-a-php-page/#findComment-717508 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.