我试图在javascript中创建这个函数,但它不起作用,我对js有点新,所以我不知道我真的在这里做错了。
代码:
<div id="test">TESTING</div>
JS:
function animateDiv(div){
var text = $('#' + div + '"').text();
var doAnimate = function() {
$('span').each(function() {
var that = $(this);
setTimeout(function() {
that.animate({ fontSize: "90px" }, 1500 )
.animate({ fontSize: "50px" }, 1500 );
},that.index()*100);
});
}
$('#' + div + "'").html('');
for(i=0; i<text.length; i++) {
$('#' + div + "'").append('<span>'+text[i]+'</span>');
if(i==text.length-1) doAnimate();
}
}
// using the function here to run animation on div test from html
animateDiv(test);
jsfiddle在这里:http://jsfiddle.net/aA8Un/3/
答案 0 :(得分:1)
您必须使用单/双引号(如
)来调用该函数animateDiv("test");
而不是
animateDiv(test);
从您的代码处删除“”'
所以将$('#' + div + '"')
改为$('#' + div)
<强> Working Demo 强>
答案 1 :(得分:1)
This现在可以使用了
function animateDiv(div){
var text = $('#' + div.id).text();
var doAnimate = function() {
$('span').each(function() {
var that = $(this);
setTimeout(function() {
that.animate({ fontSize: "90px" }, 1500 )
.animate({ fontSize: "50px" }, 1500 );
},that.index()*100);
});
}
$('#' + div.id).html('');
for(i=0; i<text.length; i++) {
$('#' + div.id).append('<span>'+text[i]+'</span>');
if(i==text.length-1) doAnimate();
}
}
animateDiv(test);
实际上你试图通过这个$("#"+div)
连接一个字符串和一个对象,这是错误的,你应该这样做$("#"+div.id)
这是合法的。
答案 2 :(得分:0)
var text = $('#' + div + '"').text();
替换为
var text = $('#' + div).text();
答案 3 :(得分:0)
animateDiv('test')
替代$('#' + div + '"') with $('#' + div)