【发布时间】:2013-04-03 17:43:09
【问题描述】:
我正在尝试在 Joomla 模块中插入脚本。该脚本是 JS 中的百分比加载器。我在使用另一个 js 时遇到了一些问题,但我终于设法解决了。
我得到的错误是:
未捕获的类型错误:对象 [object Object] 的属性“$”不是 函数(匿名函数)
我正在尝试导入Percentage Loader jQuery plugin
而js代码为:
$(function() {
var $topLoader = $("#dttopLoader").percentageLoader({width: 256, height: 256, controllable : true, progress : 0.5, onProgressUpdate : function(val) {
$topLoader.setValue(Math.round(val * 100.0));
}});
var topLoaderRunning = false;
$("#dtanimateButton").click(function() {
if (topLoaderRunning) {
return;
}
topLoaderRunning = true;
$topLoader.setProgress(0);
$topLoader.setValue('0kb');
var kb = 0;
var totalKb = 999;
var animateFunc = function() {
kb += 17;
$topLoader.setProgress(kb / totalKb);
$topLoader.setValue(kb.toString() + 'kb');
if (kb < totalKb) {
setTimeout(animateFunc, 25);
} else {
topLoaderRunning = false;
}
}
setTimeout(animateFunc, 25);
});
});
我尝试将第一行从“$(function()...”更改为“jquery(function()...”,因为我在 stackoverflow 上阅读了许多主题,但仍然无法修复它。
【问题讨论】:
-
你试过
jQuery(function()...,区分大小写吗? -
您的网站中包含 jQuery 吗?
-
我试过区分大小写但仍然是同样的错误。是的,已经包含 jQuery。
-
@ManolisC.:Pitty Zach 删除了他的答案,我也对语法有点不满意,因此我删除了我的。您能否发布最终对您有用的内容,以便我们有一个很好的答案?我认为这对未来的用户非常有用。您也可以在等待一段时间后接受自己的答案。
-
@François:我认为最终起作用的是
jQuery(function($) {...});(或更长的等价物)。这里的关键是将$作为第一个参数传递。尽管 OP 声称已尝试使用jQuery,但他们可能并未更改每次出现的$。您应该取消删除您的答案并删除您的编辑。
标签: javascript jquery joomla types