(首先,免责声明:我是一名JavaScript / MooTools新手,所以这个解决方案很可能是一个微不足道的错过)
在一些帮助下,我能够使用MooTools在jsFiddle上放置一个简单的滑块来正常运行。它在这里 - > http://jsfiddle.net/wowenkho/uGcTx/
现在,我想在自己的电脑上重现它。我从这里的一些线程中学到了我必须包装jsFiddle代码。在Aptana,我有这样的代码:
<html>
<head>
<script type="text/javascript" src="mootools_v1_2.js"></script>
<script type="text/javascript">
$(function()
{
window.addEvent('domready',function()
{
var s = new Slider(document.id("slider-1"), document.id("slider-input-1"),
{
onChange : function(step)
{
document.id("q1_r1").set('value',step);
document.id("value").set('html',step);
}
});
window.onresize = function () {
//s.recalculate();
};
});
});
</script>
</head>
<body>
<input name="q1_r1" id="q1_r1" type="hidden">
<span id="value">0</span>
<p ><div class="slider" id="slider-1" tabIndex="1">
<input class="slider-input" id="slider-input-1" />
</div>
</body>
</html>
我知道我使用的MooTools版本并不完全相同(jsFiddle使用的是1.2.5,我使用的是1.2.1)。我可以尝试在这里使用1.2.5(我会同时),但这不是目的,因为我必须使用1.2.1。我也知道MooTools运行良好,至少在理论上,因为我之前已经创造了“hello world”并且它有效。
目前情况如何,我只看到了跨度和文本框,而不是滑块。
我想我在这里缺少一些微不足道的东西。
提前感谢所有可能的帮助, JAFF
答案 0 :(得分:1)
你的实现有两个问题,第一个是简单的从$ function包装器中取出它,如果你在控制台中查看你的domready函数没有被调用。
window.addEvent('domready',function()
{
var s = new Slider(document.id("slider-1"), document.id("slider-input-1"),
{
onChange : function(step)
{
document.id("q1_r1").set('value',step);
document.id("value").set('html',step);
}
});
window.onresize = function () {
//s.recalculate();
};
});
第二个是你实际上正在使用mootools插件。如果你看看你的js小提琴它说使用mootools更多1.2.5.1。它位于您找到滑块类的更多部分内部。如果没有,则不定义滑块。因此,请确保在下载所有插件所需的核心mootool时,您还要检查更多和滑块框。在mootools网站上,当您转到1.2.5下载核心时,请转到更多构建器,您可以添加它们。