[英]Script not loading in joomla template
我正在尝试使用jquery根据日期在我的joomla网站上显示内容。 这是正在工作的jsfiddle: http : //jsfiddle.net/2BHLd/968/
$(function() {
$(".DateDiv").each(function(index) {
var sRange = $(this).find(".DateRange").html();
var arrTemp = sRange.split(" to ");
var dtFrom = new Date(arrTemp[0]);
var dtTo = new Date(arrTemp[1]);
var dtNow = new Date();
if (dtNow >= dtFrom && dtNow <= dtTo)
$(this).show();
});
});
我正在使用Jumi将脚本和CSS插入我的页面中,并将html放入文章中。 CSS似乎已经很好地工作了,因为它已经隐藏了html,但是由于某种原因,即使当前日期在日期范围内,脚本也似乎没有显示文本。
http://askc.org/galacticos/index.php/events/upcoming-events
这个joomla模板似乎限制了我的工作能力,但是我认为我只是在某个地方犯了一个简单的错误,并且花了两个小时试图将其修复无济于事。 提前致谢!
您正在使用$
来引用jQuery,而Joomla出于传统原因将其作为mootools保留。
只需将每次出现的$
替换$
jQuery
,上面的代码将如下所示:
jQuery(function() {
jQuery(".DateDiv").each(function(index) {
var sRange = jQuery(this).find(".DateRange").html();
var arrTemp = sRange.split(" to ");
var dtFrom = new Date(arrTemp[0]);
var dtTo = new Date(arrTemp[1]);
var dtNow = new Date();
if (dtNow >= dtFrom && dtNow <= dtTo)
jQuery(this).show();
});
});
或者,如果您确实喜欢使用$前缀,则可以使用
$ = jQuery;
就在您的脚本之前; 但这可能会破坏依赖$作为mootools的其他功能,而这并不是Joomla的首选方式。
最后,您的代码不是很可靠,
var dtTo = new Date(arrTemp[1]);
如果sRange
不包含至少两项,则将中断,并且如果无法将arrTemp
项转换为日期,则以下比较将产生不可预测的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.