Javascript jQuery.find()和.animate()
我正在做一个温度计,我正在制作温度计的动画。我有这样一种javascript方法:Javascript jQuery.find()和.animate(),javascript,jquery,Javascript,Jquery,我正在做一个温度计,我正在制作温度计的动画。我有这样一种javascript方法: function setScoreBar(score) { var scoreBar = document.getElementById("dynamicScoreBar"); // var scoreBar = $(scoreBarElem); var height = 250; height = height - 20; var percentage = height
function setScoreBar(score) {
var scoreBar = document.getElementById("dynamicScoreBar");
// var scoreBar = $(scoreBarElem);
var height = 250;
height = height - 20;
var percentage = height / 100;
scoreBar.find(".meter").animate({
marginTop: (height - (score * percentage)) + "px"
}, 400, function() {
scoreBar.find(".meter").html(score + "%");
});
}
我的html是这样的
<div id="dynamicScoreBar" class="scoreBar">
<div class="meter">0%</div>
<div class="red"></div>
</div>
0%
当我调试它时,我得到一个错误,即.find和.animate方法不存在。但是当我试图写它的时候,我得到了visual Studio的帮助,它向我展示了使用它的选项,所以它应该存在:P我可以使用其他东西吗?或者我有语法错误吗?
.find
和.animate
是jQuery函数。当scoreBar
是jQuery对象时,它们就存在了。当您使用document.getElementById
分配它时,它不是getElementById
是一个纯javascript函数,将返回一个DOM节点
如果您使用的是jQuery框架,那么可以通过使用$(…)
将任何DOM节点包装成jQuery对象。对于您的特定场景,您可以完全重写变量赋值:
var scoreBar = $('#dynamicScoreBar');
。。。而
scoreBar
变量将是一个jQuery对象,具有find
和animate
功能。.find
和animate
是jQuery功能。当scoreBar
是jQuery对象时,它们就存在了。当您使用document.getElementById
分配它时,它不是getElementById
是一个纯javascript函数,将返回一个DOM节点
如果您使用的是jQuery框架,那么可以通过使用$(…)
将任何DOM节点包装成jQuery对象。对于您的特定场景,您可以完全重写变量赋值:
var scoreBar = $('#dynamicScoreBar');
。。。而
scoreBar
变量将是一个jQuery对象,具有find
和animate
功能。完美!很好的解释!谢谢你,大卫!:)完美的很好的解释!谢谢你,大卫!:)