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=”/ajaxjs/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”>&nbsp;</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>

<div><A href=”http://www.999jiujiu.com/”>
http://www.999jiujiu.com/</A></div>

</body>

</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115235.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月7日 上午9:00
下一篇 2022年2月7日 上午10:00


相关推荐

  • 编写java判断闰年_Java 判断闰年代码实例

    编写java判断闰年_Java 判断闰年代码实例importjava.util.Scanner;/*5.1判断闰年(时间:20分钟)5.1.1作业任务(1)由用户输入任意一个年份,能被4整除但不能被100整除,或者能被400整除,是闰年。(结果:输出闰年或平年)5.1.2任务要求(1)本题仅要求判断一个年份是否为闰年。5.1.3难点提示用?:运算符条件运算符是三目运算符,其格式为:表达式?语句1:语句2;其中表达式的值是布尔类型,…

    2022年7月17日
    13
  • netperf 与网络性能测量

    netperf 与网络性能测量http www ibm com developerwor cn linux l netperf 在构建或管理一个网络系统时 我们更多的是关心网络的可用性 即网络是否连通 而对于其整体的性能往往考虑不多 或者即使考虑到性能的问题 但是却发现没有合适的手段去测试网络的性能 当开发出一个网络应用程序后 我们会发现 在实际的网络环境使用中 网络应用程序的使用效果不是很理想 问题可能出

    2026年3月16日
    2
  • LocalAI 快速入门:在本地运行兼容 OpenAI 接口的大语言模型

    LocalAI 快速入门:在本地运行兼容 OpenAI 接口的大语言模型

    2026年3月15日
    2
  • 2000数据库置疑怎么处理_msdb数据库置疑的解决方法

    2000数据库置疑怎么处理_msdb数据库置疑的解决方法由于服务器意外的断电,导致SQLSERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下:产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库文件都不存在了,则要另当处理。1、停止数据库服务器,将数据库MDF文件和LDF文件复制备份一份2、启动数据库服务器,删除置疑的数据库3、仅用备份的数据库MDF文件附加数据库,sp_attach_…

    2022年8月20日
    14
  • linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]

    linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]1.检查操作系统是否按照iscsi[root@linux01~]#rpm-qa|grepiscsiiscsi-initiator-utils-6.2.0.873-2.el6.x86_64如果没有按照的话,可以使用yuminstall命令进行安装2.检查iscsi服务配置[root@linux01~]#chkconfig–list|grepiscsiiscsi…

    2022年8月23日
    8
  • SQL嵌套查询_sql差集嵌套

    SQL嵌套查询_sql差集嵌套selecttop11from…主要是用来判断表是否有记录TRUNCATE:删除内容、释放空间但不删除定义,保留数据表的结构删除目标表中所有字段,不影响表结构派生表:派生表就是一个由查询结果生成的临时表。他是在外部查询的FROM中定义的。派生表的存在范围只是在外部查询中,只要外部查询结束了,派生表也就不存在了。派生表一定要写在FROM后面范围内,用()括起来。后面跟着派生表的名称。se…

    2022年8月10日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号