我尝试使用以下代码添加倒计时发货时间: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没有运行一样。 有人有任何想法吗?
答案 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)
希望它可以帮到你