本文實例講述了jquery實現可自動判斷位置的彈出層效果代碼。分享給大家供大家參考。具體如下:
這是一款jquery實現的智能彈出層效果,位置可以自適應,當層靠右邊顯示時自動往左移。初次運行時請按F5刷新,載入遠程jQuery后才能看到效果,點擊鼠標左鍵,彈出層將出現,在最右邊點擊時層自動往左移。
運行效果截圖如下:
在線演示地址如下:
http://demo.VeVB.COm/js/2015/jquery-auto-check-pos-alert-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" /><title>jquery彈出層浮動層代碼</title><script src="jquery1.3.2.js" type="text/javascript"></script><style>*{ margin:0; padding:0}body{ margin:0; padding:0; font-size:12px}ul,li{ list-style:none}ul{position:relative;top:-3px; left:-3px;border:1px solid #ccc; background:#fff;}li{height:23px;line-height:23px;cursor:default; padding:0 0 0 10px}li.current{background:#eee}.wrap{ width:158px; background:#eee; position:absolute;}</style><script type="text/javascript">$(function(){ $(".wrap").hide(); var objW=$(".wrap").width(); var objH=$(".wrap").height(); $(document).mousedown(function(e){ var selfX=objW+e.pageX; var selfY=objH+e.pageY var bodyW=document.documentElement.clientWidth+document.documentElement.scrollLeft; var bodyH=document.documentElement.clientHeight+document.documentElement.scrollTop; if(selfX>bodyW && selfY>bodyH){ $(".wrap").css({top:(bodyH-objH),left:(bodyW-objW)}).show(); }else if(selfY>bodyH){ $(".wrap").css({top:(bodyH-objH),left:e.pageX}).show(); }else if(selfX>bodyW){ $(".wrap").css({top:e.pageY,left:(bodyW-objW)}).show(); }else{ $(".wrap").css({top:e.pageY,left:e.pageX}).show(); } }) $("li").hover(function(){ $(this).addClass("current"); },function(){ $(this).removeClass("current"); }).click(function(){ alert($(this).text()) $(this).parent().parent().hide(); })})</script></head><body><div style="height:800px;width:900px"> </div><div style="position:absolute;top:300px;left:300px"><span style="color:#f00;font-size:28px">請按F5刷新,才能看到效果,</span><br>點擊鼠標左鍵,彈出層,<br>在最右邊點擊時層自動往左移</div><div class="wrap"> <ul onmousedown="event.cancelBubble = true"> <li>連江</li> <li>寧德</li> <li>福州</li> <li>廈門</li> <li>北京</li> </ul></div></body></html>
希望本文所述對大家的jQuery程序設計有所幫助。
新聞熱點
疑難解答