jQuery-设置文本区域框高度动画-性能问题
请记住,我还处于jQuery的早期学习阶段 下面的代码存在动画性能问题。在JSFIDLE中没有显示性能问题,但在我正在构建的网站上,这个.js文件和html文件非常庞大 代码的目的是在焦点上设置textarea高度的动画,并将框模糊到原始高度 我认为组合这些函数可能会提高性能,但事实恰恰相反jQuery-设置文本区域框高度动画-性能问题,jquery,performance,jquery-animate,textarea,Jquery,Performance,Jquery Animate,Textarea,请记住,我还处于jQuery的早期学习阶段 下面的代码存在动画性能问题。在JSFIDLE中没有显示性能问题,但在我正在构建的网站上,这个.js文件和html文件非常庞大 代码的目的是在焦点上设置textarea高度的动画,并将框模糊到原始高度 我认为组合这些函数可能会提高性能,但事实恰恰相反 $("#productsServiceDescription, #targetAudienceDescription").focus(function() { $(this).animate({
$("#productsServiceDescription, #targetAudienceDescription").focus(function() {
$(this).animate({
height: 100
}, "normal"),
$(this).blur(function() {
$(this).animate({
height: 51
}, "normal")
});
});
代码在这里
这里的代码与函数分离,性能是如此的动画,但结合如上所示的可怕
$("#productsServiceDescription, #targetAudienceDescription").focus(function() {
$(this).animate({
height: 100
}, "normal"),
});
$("#productsServiceDescription, #targetAudienceDescription").blur(function() {
$(this).animate({
height: 51
}, "normal")
});
我想将这些功能结合起来,以避免重复id标记。使用这个函数,我总共有15个ID左右
我希望有人能告诉我我做错了什么,以及如何优化代码。使用类将是更好的解决方案,如
$(".one_full_a3 textarea").focus(function() {
$(this).animate({
height: 100
}, "normal");
}).blur(function() {
$(this).animate({
height: 51
}, "normal");
});
使用类将是更好的解决方案,如
$(".one_full_a3 textarea").focus(function() {
$(this).animate({
height: 100
}, "normal");
}).blur(function() {
$(this).animate({
height: 51
}, "normal");
});
你看了吗?
这个jQuery插件扩展了jQuery的动画功能,在支持的浏览器上支持CSS3。只需在嵌入jQuery和relax后的行中嵌入脚本,查看平滑的动画:)您看过了吗?
这个jQuery插件扩展了jQuery的动画功能,在支持的浏览器上支持CSS3。只需在嵌入jQuery和relax后的行中嵌入脚本,查看平滑动画:)尝试使用CSS3制作动画,它会更平滑,并且可以保持JS整洁。我尝试了CSS3,是的,它是平滑的,但在IE中动画被破坏/不受支持,因此我希望通过JS制作动画。我可能会求助于回到CSS,而只是接受它在IE中被打破的事实。顺便问一下,JSFIDLE是活动的吗?至于形成清晰可读的代码,我确实需要在这方面做一些工作。@RichardMax看看我的回答,尝试用CSS3制作动画,它会更平滑,你会保持JS整洁。我尝试过CSS3,是的,它是平滑的,但在IE中,动画被破坏/不受支持,所以这就是为什么我希望通过JS制作动画。我可能会求助于回到CSS,而只是接受它在IE中被打破的事实。顺便问一下,JSFIDLE是活动的吗?至于形成清晰可读的代码,除其他外,我确实需要在这方面做一些工作answer@RichardMax我想我听不懂你的问题,让我知道你真正的期望是什么?我只是注意到你不仅仅是把Id改成了一个类…我看到你把$(这个)它确实消除了性能问题。感谢百万“极客”与所有浏览器兼容,你认为这是一种方式吗?考虑到这一点,我想我可以使用CSS和jQuery作为IE的后援。如果你能帮助jQuery后援,我将不胜感激。@RichardMax当然,查看css跨浏览器兼容性。@RichardMax认为我无法回答您的问题,让我知道您的实际期望是什么?我刚刚注意到您更改的不仅仅是类的Id…我看到您更改了$(这)它确实消除了性能问题。感谢百万“极客”与所有浏览器兼容,你认为这是一种方式吗?考虑到这一点,我想我可以使用CSS和jQuery作为IE的后援。如果你能帮助jQuery后援,我将不胜感激。@RichardMax当然,看看CSS跨浏览器兼容性。非常有趣。。。我会看看,看看这对我将来有多有用。谢谢非常有趣。。。我会看看,看看这对我将来有多有用。谢谢