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 相关文章推荐
Javascript 函数对象的多重身份
Jun 28 Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 Javascript
浅析webapp框架AngularUI的demo
Dec 21 Javascript
JavaScript实现列出数组中最长的连续数
Dec 29 Javascript
Express的路由详解
Dec 10 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
Dec 12 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
Sep 11 Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
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
各种咖啡的英文名子是什么
2021/03/03 新手入门
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
现金会计岗位职责
2013/12/05 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
代理人委托书
2014/08/01 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
校园安全学习心得体会
2016/01/18 职场文书
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技