Javascript没有运行Prestashop

时间:2016-03-21 11:08:40

标签: javascript prestashop countdown countdowntimer

我尝试使用以下代码添加倒计时发货时间:http://jsfiddle.net/37ox54bk/7/

我使用HTML框模块:https://mypresta.eu/modules/front-office-features/html-box.html

代码如下所示:

    <div id="countdownTimer">0</div>
    <script type="text/javascript">// <![CDATA[
     if (document.getElementById('countdownTimer')) {
pad = function(n, len) { // leading 0's
    var s = n.toString();
    return (new Array( (len - s.length + 1) ).join('0')) + s;
};

var timerRunning = setInterval(

    function countDown() {
        var target = 15; // 15:00hrs is the cut-off point
        var now = new Date();

        //Put this in a variable for convenience
        var weekday = now.getDay();

        if(weekday == 0){//Sunday? Add 24hrs
            target += 24;
        }//keep this before the sunday, trust me :>

        if(weekday == 6){//It's Saturday? Add 48hrs
            target += 48;
        }

        //If between Monday and Friday, 
        //check if we're past the target hours, 
        //and if we are, abort.
        if((weekday>=1) && (weekday<=5)){
            if (now.getHours() > target) { //stop the clock
                return 0;
            }                
        }

        var hrs = (target - 1) - now.getHours();
        if (hrs < 0) hrs = 0;
        var mins = 59 - now.getMinutes();
        if (mins < 0) mins = 0;
        var secs = 59 - now.getSeconds();
        if (secs < 0) secs = 0;

        var str = pad(hrs, 2) + ':' + pad(mins, 2) + '.<small>' + pad(secs, 2) + '</small>';
        document.getElementById('countdownTimer').innerHTML = str;

    }, 1000
);
    }// ]]></script>

但是没有发生任何事情,它只是显示0,就像javascript没有运行一样。 有人有任何想法吗?

2 个答案:

答案 0 :(得分:0)

看起来该模块将所有内容都包含在

中的<script>标记内
// <![CDATA[
//--><![CDATA[//><!-- //
[your code] 
//--><!
// ]]>

它看起来甚至不是正确的使用CDATA的方式,但无论如何我认为在你的情况下所有这一切都在评论整段代码。

您是否无法访问主题中的文件?例如,你仍然可以在模块中添加<div id="countdownTimer">0</div>并将代码粘贴到globals.js的document.ready();函数中

答案 1 :(得分:0)

尝试创建一个js文件并将其链接如下:

<script src="http://yoursite.com/folder/file.js"></script>
<div id="countdownTimer">0</div>

如果您需要添加一些css代码,则必须将其添加到当前的css prestashop文件中(例如,如果您需要在主页上添加它以便您可以使用golbal.css)

希望它可以帮到你