我想淡化字符串中的字符,以便Whatever
变成Wha ever
。
$('p[2]').animate({ opacity: 0 });
如果可能的话,我想在没有将每个字母包装在HTML标签中的情况下这样做。
答案 0 :(得分:4)
您需要包装想要遮罩的角色,以对此元素应用效果。
尝试:
var hideLetter = function(element, position) {
var str = $(element).text(),
nstr = str.substr(0, position) + '<span>' + str.substring(position, position + 1) + '</span>' + str.substring(position + 1);
$(element).html(nstr);
$(element).find('span').animate({
opacity: 0
});
};
hideLetter('p', 2);
<强> Fiddle 强>
答案 1 :(得分:1)
看看这有助于http://jsfiddle.net/EP3nR/5/
// Wrap each letter in a span tag
$('p').html(function(){
return this.textContent.replace(/./g,'<span>$&</span>');
});
// Get 3rd char and hide it
var char = $('p').find('span').eq(2).animate({opacity:0}).text();
// The char that was hidden
$('h1').text(char);
您还可以使用回调添加 后隐藏的角色:
$('p').find('span').eq(2).animate({opacity: 0}, function () {
$('h1').text(this.textContent);
});