javascript - 最好的动画算法?

标签 javascript jquery css jquery-animate

我制作了这个脚本来为面板设置动画(打开-关闭):

$(window).load(function () {
    var z = '';
    $("#painel").hide()
    $(".btvagas").click(function () {
        z++;
        $("#painel").animate({
            width: 'toggle'
        });
        if (z === 1) {
            $("#painel").animate({
                width: '400px'
            });
            $(".btvagas").animate({
                left: '336px'
            });
        } else {
            $(".btvagas").animate({
                left: '-65px'
            });
            z = 0;
        }
    })
});

您可以在这里看到所有带有 html 和 css 的代码: http://codepen.io/LuanPiegas/pen/wFyjG

但是,我是 jQuery 和 JavaScript 的新手,所以...有更好的方法来做到这一点,而且结果相同吗?

最佳答案

您可以将 $("#painel")$(".btvagas") 分配给变量,这样您就不必对它们调用 jQuery 三次每一个。

var $painel = $('#painel'), $btvagas = $(".btvagas"); 

您还可以为 widthleft 属性使用数字而不是字符串,因为您使用的是像素。

.animate({ left: 336 })

至于算法本身。我认为通过查看代码它的作用还不够明显,因此它肯定可以使用一些工作。我正在为面试做准备,所以我想从头开始尝试这个模式。这是我想出的。您可以从 .pulltab 元素中删除 .use-css-transitions 类以改用 jQuery 动画。希望对您有所帮助!

http://jsbin.com/iSaPaNI/2/edit?js,output

关于javascript - 最好的动画算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675163/

相关文章:

javascript - 使用 jQuery 选择列表值更改但不显示在 UI 中

html - CSS 两个类使用具有多个设置的一个属性

javascript forEach 检查所有元素 true/false

javascript - 如何改进这个 jQuery 代码?

javascript - 将 HTML 内容加载到 DIV 后调整颜色框的大小

css - 一个 CSS 类可以继承一个或多个其他类吗?

css - 水平对齐文本、div 和其他 2 个 div

javascript - 奇怪的 IE8 内部 [[ class ]] 属性行为

javascript - HTML:嵌入自动启动的循环幻灯片放映

jquery - ScrollTop 与 jQuery 和溢出 div