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原生appendChild的bug解决心得分享
Jul 01 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
innerHTML在IE中报错解决方案
Dec 15 Javascript
javascript arguments使用示例
Dec 16 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
Jun 23 Javascript
AngularJS 作用域详解及示例代码
Aug 17 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php实现paypal 授权登录
2015/05/28 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php数组遍历类与用法示例
2019/05/24 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
django批量导入xml数据
2016/10/16 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
python脚本定时发送邮件
2020/12/22 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
数据库笔试题
2013/05/09 面试题
学生会副主席竞聘书
2014/03/31 职场文书
大学生作弊检讨书
2014/09/11 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2015年环卫工作总结
2015/04/28 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
对讲机的最大通讯距离是多少
2022/02/18 无线电