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下拉缓冲菜单示例代码
Aug 30 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
node.js中的fs.chown方法使用说明
Dec 16 Javascript
jQuery源码解读之addClass()方法分析
Feb 20 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
深入解析JavaScript中的立即执行函数
May 21 Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 Javascript
使用Angular 6创建各种动画效果的方法
Oct 10 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 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
什么是短波收听SWL
2021/03/01 无线电
PHP explode()函数用法、切分字符串
2012/10/03 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
javascript引用对象的方法
2007/01/11 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
实践Vim配置python开发环境
2018/07/02 Python
Linux下python制作名片示例
2018/07/20 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
医药类个人求职的自我评价
2014/02/12 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
先进单位事迹材料
2014/12/25 职场文书
如何写观后感
2015/06/19 职场文书
Python利用folium实现地图可视化
2021/05/23 Python