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 相关文章推荐
ExtJS的FieldSet的column列布局
Nov 20 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
JS随机漂浮广告代码具体实例
Nov 19 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 Javascript
javascript实现下雪效果【实例代码】
May 03 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
Aug 14 Javascript
vue搜索和vue模糊搜索代码实例
May 07 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高手?学会“懒惰”的编程
2006/12/05 PHP
php入门小知识
2008/03/24 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
php strnatcmp()函数的用法总结
2013/11/27 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
Python多进程同步简单实现代码
2016/04/27 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python zip()函数的使用示例
2020/09/23 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
酒店前厅员工辞职信
2014/01/08 职场文书
暑假学习心得体会
2014/09/02 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书