将 jQuery 动画添加到自定义函数

发布于 2024-10-25 05:57:47 字数 840 浏览 1 评论 0原文

我想知道是否有任何方法可以向我构建的 jquery 函数添加淡入淡出动画:

var $j = jQuery.noConflict();
    $j('#seccG').click(swapWith);

function swapWith(){
    var tmp = $j(this).html();

    var claseOrigen = $j(this).attr("class");
    var claseDestino = $j('#seccA').attr("class");

    //REMOVES THE CLASSES
    $j(this).removeClass(claseOrigen);
    $j('#seccA').removeClass(claseDestino);
    $j('#Main').removeClass(claseDestino);
    $j('#content').removeClass(claseDestino);

    //ASSIGN NEW CLASSES
    $j(this).addClass(claseDestino);
    $j('#seccA').addClass(claseOrigen);
    $j('#Main').addClass(claseOrigen);
    $j('#content').addClass(claseOrigen);

    //EXCHANGE CONTENTS
    $j(this).html($j('#seccA').html());
    $j('#seccA').html(tmp);
};

颜色与类以及 ID 的定位相关联,因此我想为交换 div 添加过渡(#seccA 和#seccB)。

提前致谢 :-)

I would like to know if there's any way to add a fade animation to this jquery function that i've built:

var $j = jQuery.noConflict();
    $j('#seccG').click(swapWith);

function swapWith(){
    var tmp = $j(this).html();

    var claseOrigen = $j(this).attr("class");
    var claseDestino = $j('#seccA').attr("class");

    //REMOVES THE CLASSES
    $j(this).removeClass(claseOrigen);
    $j('#seccA').removeClass(claseDestino);
    $j('#Main').removeClass(claseDestino);
    $j('#content').removeClass(claseDestino);

    //ASSIGN NEW CLASSES
    $j(this).addClass(claseDestino);
    $j('#seccA').addClass(claseOrigen);
    $j('#Main').addClass(claseOrigen);
    $j('#content').addClass(claseOrigen);

    //EXCHANGE CONTENTS
    $j(this).html($j('#seccA').html());
    $j('#seccA').html(tmp);
};

The colors are associated with the classes and the positioning with the IDs, so I would like to add a transition to the exchanging divs (#seccA and #seccB).

Thanks in advance :-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟火散人牵绊 2024-11-01 05:57:47

不确定你想要淡出什么,但你可以尝试
$j(this).fadeOut("fast").removeClass(claseOrigen);

http ://api.jquery.com/fadeOut/

Not sure what you want to fade, but you could try
$j(this).fadeOut("fast").removeClass(claseOrigen);

http://api.jquery.com/fadeOut/

幽蝶幻影 2024-11-01 05:57:47

像这样的东西?

var $j = jQuery.noConflict();
    $j('#seccG').click(swapWith);

function swapWith(){
    var          tmp = $j(this).html(),
         claseOrigen = $j(this).attr("class"),
        claseDestino = $j('#seccA').attr("class"),
                self = this,
        elements;

    //REMOVES THE CLASSES
    (elements = $j('#seccA,#Main,#content').add(this))
        .removeClass(claseOrigen)
        .fadeOut(function(){
            // EXCHANGE CONTENTS
            $j(self).html($j('#seccA').html());
            $j('#seccA').html(tmp);

            // ASSIGN NEW CLASSES
            elements.addClass(claseDestino).fadeIn();
        });
};

something like this?

var $j = jQuery.noConflict();
    $j('#seccG').click(swapWith);

function swapWith(){
    var          tmp = $j(this).html(),
         claseOrigen = $j(this).attr("class"),
        claseDestino = $j('#seccA').attr("class"),
                self = this,
        elements;

    //REMOVES THE CLASSES
    (elements = $j('#seccA,#Main,#content').add(this))
        .removeClass(claseOrigen)
        .fadeOut(function(){
            // EXCHANGE CONTENTS
            $j(self).html($j('#seccA').html());
            $j('#seccA').html(tmp);

            // ASSIGN NEW CLASSES
            elements.addClass(claseDestino).fadeIn();
        });
};
∞梦里开花 2024-11-01 05:57:47

jQuery UI 扩展了标准 jQuery 动画的功能。有了它,您可以对 css 类指定的属性进行动画处理,而不是在 javascirpt 中定义值。查看 http://jqueryui.com/demos/addClass/

jQuery UI 还允许您设置颜色动画特性。

链接 jQuery UI 后,您应该能够在动画持续时间内简单地将第二个属性添加到添加和删除类函数中。

$j(this).addClass(claseDestino,1000);

jQuery UI extends the functionality of the standard jQuery animations. With it you can animate to properties specified by a css class rather than defining values in the javascirpt. Check out http://jqueryui.com/demos/addClass/

jQuery UI also allows you to animate color properties.

After linking jQuery UI you should be able to simply add a second property to the add and remove class functions for the duration of the animation.

$j(this).addClass(claseDestino,1000);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文