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 相关文章推荐
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
js Math 对象的方法
Sep 01 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
如何获取TypeScript的声明文件.d.ts
May 01 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 Javascript
js中复选框的取值及赋值示例详解
Oct 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
SMARTY学习手记
2007/01/04 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
Nest.js 授权验证的方法示例
2021/02/22 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python实现抓取网页并且解析的实例
2014/09/20 Python
使用Python的判断语句模拟三目运算
2015/04/24 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python之str操作方法(详解)
2017/06/19 Python
python用户管理系统的实例讲解
2017/12/23 Python
Python中一些深不见底的“坑”
2019/06/12 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
实习求职信
2013/12/01 职场文书
机关门卫制度
2014/02/01 职场文书
金融与证券专业求职信
2014/06/22 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
企业安全生产检查制度
2015/08/06 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技