jquery实现可自动判断位置的弹出层效果代码

前端技术 2023/09/02 JavaScript

本文实例讲述了jquery实现可自动判断位置的弹出层效果代码。分享给大家供大家参考。具体如下:

这是一款jquery实现的智能弹出层效果,位置可以自适应,当层靠右边显示时自动往左移。初次运行时请按F5刷新,载入远程jQuery后才能看到效果,点击鼠标左键,弹出层将出现,在最右边点击时层自动往左移。

运行效果截图如下:

在线演示地址如下:

http://demo.phpstudy.net/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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/3274

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。