jQuery使用animate实现ul列表项相互飘动效果示例
永远爱好写程序 人气:0本文实例分析了jQuery使用animate实现ul列表项相互飘动效果。分享给大家供大家参考,具体如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> body{font-size:12px;maring:0px;padding:0px;} #main{width:600px;margin:auto;background-color:gold;} ul{float:left;margin:30px;width:80px;height:140px;padding:2px;background-color:#0099cc} #ulRight{margin-left:300px;} li{list-style-type:none;margin-top:3px;background-color:Gray;} </style> <script src="../js/jquery-1.5.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("li[name='pigeon']").click(function () { //开始飘动的位置,由于ulRight的margin-left为300px所以要加300,同理leftUl也一样 var rightUlLeft = parseInt($("#ulRight").position().left + 300) + "px"; var leftUlLeft = parseInt($("#ulLeft").position().left + 30) + "px"; if ($(this).parent().attr("id") == "ulLeft") { $(this).queue(function (next) { $(this).css({ "position": "absolute", "left": leftUlLeft }); next(); }) .animate({ "left": rightUlLeft }, 2000) .queue(function () { $(this).appendTo("#ulRight").css({ "position": "static" }); $(this).dequeue(); }); } else { $(this).queue(function (next) { $(this).css({ "position": "absolute", "left": rightUlLeft }); next(); }) .animate({ "left": leftUlLeft }, 2000) .queue(function () { $(this).appendTo("#ulLeft").css({ "position": "static" }); $(this).dequeue(); }); } }); }); </script> </head> <body> <div id="main"> <ul id="ulLeft"> <li name='pigeon'>白鸽</li> <li name='pigeon'>花鸽</li> <li name='pigeon'>黑鸽</li> <li name='pigeon'>灰鸽</li> <li name='pigeon'>红鸽</li> <li name='pigeon'>绛鸽</li> </ul> <ul id="ulRight"> </ul> <div style="clear:both;"></div> </div> </body> </html>
希望本文所述对大家jQuery程序设计有所帮助。
加载全部内容