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


Posted in Javascript onOctober 12, 2015

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

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

运行效果截图如下:

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

在线演示地址如下:

具体代码如下:

<!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程序设计有所帮助。

Javascript 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 Javascript
javascript制作坦克大战全纪录(2)
Nov 27 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
Nov 04 Javascript
jQuery实现立体式数字动态增加(animate方法)
Dec 21 Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
详解vuex状态管理模式
Nov 01 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
原生js实现的观察者和订阅者模式简单示例
Apr 18 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 #Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 #Javascript
javascript函数式编程程序员的工具集
Oct 11 #Javascript
深入探讨javascript函数式编程
Oct 11 #Javascript
Javascript函数式编程语言
Oct 11 #Javascript
Javascript函数式编程简单介绍
Oct 11 #Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
Oct 10 #Javascript
You might like
php下实现农历日历的代码
2007/03/07 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
js对象基础实例分析
2015/01/13 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
浅析python redis的连接及相关操作
2019/11/07 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
Python 列表反转显示的四种方法
2020/11/16 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
公交公司毕业生求职信
2014/02/15 职场文书
护士长竞聘书
2014/03/31 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
防卫过当辩护词
2015/05/21 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis