這篇文章主要介紹了jquery實現仿新浪微博帶動畫效果彈出層代碼,具有可關閉及可拖動的功能,涉及jQuery針對滑鼠事件的響應及頁面元素屬性的變換功能,具有一定參考借鏡價值,需要的朋友可以參考下,具體如下:
這是一款jquery實現帶動畫的彈出層,最開始是模擬新浪微博中的彈出層,後來引入了jQuery,又想了想,加入點動畫效果不知怎麼樣,後來就寫出了這麼一個彈出的網頁層效果,你點擊按鈕後就可以看到一個漸出的可關閉的彈出層,點擊關閉後,當然也是漸漸的消失的,移動時根據滑鼠位置計算控制項左上角的絕對位置,放開滑鼠後停止移動並恢復成不透明。
運作效果截圖如下:
線上簡報網址如下:
http://demo.jb51.net/ js/2015/jquery-f-sina-flash-style-close-able-dlg-demo/
具體程式碼如下:
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="jquery-1.6.2.min.js" type="text/javascript"></script> <style type="text/css"> #t{ margin:30px 0 0 100px;} .cc { border:1px solid #000; position:absolute; top:60px; left:180px; height: 150px; width: 300px; display:none; } .cc h2{ display:block; width:270px; font-size:12px; float:left; text-align:center;} .cc span{ display:block; width:20px; height:20px; font-size:18px; float:right; border:1px solid #F00; background:#999; text-align:center;} </style> <script language="javascript"> $(function(){ var _move=false;//移动标记 var _x,_y;//鼠标离控件左上角的相对位置 $('#t').click( function(){ $('.cc').fadeIn('slow'); }); $('.cc span').click(function(){ $('.cc').hide('fast'); }) $('.cc').mousedown(function(e){ _move=true; _x=e.pageX-parseInt($(".cc").css("left")); _y=e.pageY-parseInt($(".cc").css("top")); $(".cc").fadeTo(20, 0.5).css('cursor','move');//点击后开始拖动并透明显示 }); $('.cc').mousemove(function(e){ if(_move){ var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置 var y=e.pageY-_y; $(".cc").css({top:y,left:x});//控件新位置 } }).mouseup(function(){ _move=false; $(".cc").fadeTo("fast", 1).css('cursor','auto');//松开鼠标后停止移动并恢复成不透明 }); }); </script> <title>新浪微博的弹出层效果</title> </head> <body> <input id="t" name="1" type="button" value="弹出层" /> <p class="cc"><h2>点击可以拖拽哦</h2><span>X</span></p> </body> </html>
以上就是本章的全部內容,更多相關教學請上jQuery影片教學!