Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-设置文本区域框高度动画-性能问题_Jquery_Performance_Jquery Animate_Textarea - Fatal编程技术网

jQuery-设置文本区域框高度动画-性能问题

jQuery-设置文本区域框高度动画-性能问题,jquery,performance,jquery-animate,textarea,Jquery,Performance,Jquery Animate,Textarea,请记住,我还处于jQuery的早期学习阶段 下面的代码存在动画性能问题。在JSFIDLE中没有显示性能问题,但在我正在构建的网站上,这个.js文件和html文件非常庞大 代码的目的是在焦点上设置textarea高度的动画,并将框模糊到原始高度 我认为组合这些函数可能会提高性能,但事实恰恰相反 $("#productsServiceDescription, #targetAudienceDescription").focus(function() { $(this).animate({

请记住,我还处于jQuery的早期学习阶段

下面的代码存在动画性能问题。在JSFIDLE中没有显示性能问题,但在我正在构建的网站上,这个.js文件和html文件非常庞大

代码的目的是在焦点上设置textarea高度的动画,并将框模糊到原始高度

我认为组合这些函数可能会提高性能,但事实恰恰相反

$("#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跨浏览器兼容性。非常有趣。。。我会看看,看看这对我将来有多有用。谢谢非常有趣。。。我会看看,看看这对我将来有多有用。谢谢