JQuery实现的模块交换动画效果



<!doctype html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <title>JQuery实现的模块交换动画效果</title>
     <meta name="Keywords" content="jquery,模块,交换,动画,javascript特效"/>
    <meta name="Description" content="JQuery实现的模块交换动画效果。在模块交换过程中,设置模块position为absolute,实现交换。"/>
    <script type="text/javascript" src="jquery-1.8.1.min.js""></script>
    <style type="text/css">
        div.container{position:relative;}
        div.container .itemA,div.container .itemE{width:300px;height:100px;background:#aaa;}
        div.container .itemE{background:#eee;}
        div.container .itemA .btn,div.container .itemE .btn{text-align:right;}
    </style>
    <script type="text/javascript">
        function addItem() {
            var p = $(‘.container‘), lastChild = p.children(":last");
            p.append(lastChild.clone().attr(‘class‘, lastChild.attr(‘class‘) == ‘itemE‘ ? ‘itemA‘ : ‘itemE‘));
            p.children(‘:last‘).append("--" + new Date().toLocaleTimeString());
        }
        function setItemPosition(dvContainer, isAB) {//更新子项的position和top
            dvContainer.css(‘height‘, isAB ? dvContainer.height() : ‘‘);
            var h = 0, eachItem;
            dvContainer.children().each(function () {
                eachItem = $(this);
                eachItem.css({ ‘position‘: isAB ? ‘absolute‘ : ‘relative‘, ‘top‘: isAB ? h : ‘‘ });
                if (isAB) h += eachItem.outerHeight(true);
            });
        }
        $(function () {
            $(‘#btnAdd‘).click(addItem);
            $(‘.btn input‘).live(‘click‘, function () {
                var o = $(this), pNode = o.parent().parent(), v = o.val();
                switch (v) {
                    case ‘删除‘: if (pNode.parent().children().length < 2) alert(‘至少留有一项!‘); else pNode.remove(); break;
                    case ‘上‘:
                    case ‘下‘:
                        var refNode = pNode[v == ‘上‘ ? ‘prev‘ : ‘next‘]();
                        if (refNode[0] == null) { alert(v == ‘上‘ ? ‘已经是第一位!‘ : ‘已经是最后一位!‘); return false; }
                        setItemPosition(pNode.parent(), true);
                        var nItemTop = refNode.css(‘top‘), refItemTop = pNode.css(‘top‘);
                        pNode[v == ‘上‘ ? ‘after‘ : ‘before‘](refNode); //交换位置
                        pNode.animate({ top: nItemTop }, 300); ;
                        refNode.animate({ top: refItemTop }, 300, function () { setItemPosition(pNode.parent()); });
                        break;
                }
            });
        });
    </script>
 </head>
 <body>
 <input type="button" value="添加新快" id="btnAdd"/>
 <div class="container">
 <div class="itemA"><div class="btn"><input type="button" value="删除" /><input type="button" value="上" /><input type="button" value="下" /></div>其他内容</div>
 <div class="itemE"><div class="btn"><input type="button" value="删除" /><input type="button" value="上" /><input type="button" value="下" /></div>其他内容</div>
 </div>
 </body>
</html>
时间: 2024-10-27 04:30:05

JQuery实现的模块交换动画效果的相关文章

基于jQuery CSS3鼠标点击动画效果

分享基于jQuery CSS3鼠标点击动画效果支持图片或内容滑动,允许设置动画延迟效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <div class="clearfix"> <div class="grid12 small12"> <div class="demos fl" id="demos&quo

JQuery模拟实现天猫购物车动画效果

测试程序源代码下载地址:源码 一.功能描述: 1.点击购买按钮,模拟抛物线将物品弹到购物车里: 2.购物车添加物品后,显示+1动画: 效果图如下: 实现如下: 1.导入jquery相关的包: <script type="text/javascript" src="jquery-2.1.1.min.js"></script> <script src="jquery.fly.min.js"></script&

jQuery酷炫的文字动画效果代码

jquery css3文字动画特效点击切换文字动态效果 jquery文字动画特效制作淡出淡进文字轮播动画效果代码 jquery文字提示点击按钮触发文字变大消失动画效果 jquery点击按钮淡出淡进动画增加积分数量效果 jquery文字跳舞鼠标滑过段落文字波浪线条跳动 jquery代码控制css background position属性设置文字背景图片动画 jquery文字动画插件制作文字flash动画滤镜效果切换特效

jquery使用CSS3实现文字动画效果插件Textillate.js

Textillate是一款基于jquery的使用CSS3实现文字动画的小巧插件.Textillate.js集成了一些很棒的使用CSS3动画效果的 JavaScript 库,您可非常轻轻松地把这些动画效果应该于网页中的任何文字. Textillate 下载        案例演示 使用方法 引入核心文件 <link href="assets/animate.css" rel="stylesheet"> <script src="http:/

jQuery简单实用的图片标题动画效果插件

CaptionerJs是一款简单实用的jQuery图片标题动画效果插件.网上有许多图片标题插件,但是CaptionerJs可以为你创建干净整洁并且带有语义的图片标题HTML代码. CaptionerJs不使用div作为图片层,而是使用figure和figcaption元素来转换图片,使图片和图片标题有明确的语义. 你可以在书写图片代码的时候使用标准的HTML图片代码,CaptionerJs会使用title和alt属性来制作图片的标题. 效果演示:http://www.htmleaf.com/De

jQuery实现加入购物车飞入动画效果

当您在电商购物网站浏览中意的商品时,您可以点击页面中的“加入购物车”按钮即可将商品加入的购物车中.本文介绍借助一款基于jQuery的动画插件,点击加入购物车按钮时,实现商品将飞入到右侧的购物车中的效果. HTML 首先载入jQuery库文件和jquery.fly.min.js插件. <script src="jquery.js"></script> <script src="jquery.fly.min.js"></scri

jQuery中的事件和动画效果

刚刚学习了jqyery的一些事件和动画,下面我来总结一下: 1.基础事件 1.window事件,它的对应方法是ready(),$(document).ready()方法是事件模块中最重要的一个函数,可以极大的提高web应用程序的响应速度.(不做过多的讲解) 2.鼠标事件 鼠标事件就是用户在文档上移动或者点击时引发的操作. 1.click(); 2.mouseout(); 3.mouseout(); $(function () { $('li').on('mouseenter',function

trick:CSS 3+checkbox实现JQuery的6个基本动画效果

在JQuery中,有六个基本动画函数:show()/hide().fadeIn()/fadeOut().slideUp()/slideDown().这篇文章,就利用CSS3+checkbox实现这六个基本动画. show()/hide()的实现 show()/hide()的实现主要控制元素的display属性. html: <div id="box"> <input type="checkbox" id="sh"/> &l

利用tween,使用原生js实现模块回弹动画效果

最近有一个需求,就是当屏幕往下一定像素时,下方会有一个隐藏的模块马上显现出来,向上运动后带有回弹效果.然后屏幕滚回去时这个模块能够原路返回 其实这个效果css3就可以很轻松实现,但是公司要求最低兼容ie7,只能说是无缘了 后来,利用jq的animate也能够实现,但是不知道怎么回事 当滚回去时有延迟,好几秒后才能隐藏不见. 最终使用tween能够完美实现,只能说原生js的强大了. tween其实是一个函数库,里面都是些公式,比如说运动轨迹的算数公式. 实现效果:其实就是一个小方块弹啊弹. 首先给