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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM内存分配与管理详解

    JVM内存分配与管理详解概述了解C++的程序员都知道,在内存管理领域,都是由程序员维护与管理,程序员用于最高的管理权限,但对于java程序员来说,在内存管理领域,程序员不必去关心内存的分配以及回收,在jvm自动内存管理机制的帮助下,不需要想C++一样为每一个new操作去编写delete/free代码,这一切交给jvm,但正是这一切都交给了jvm,一旦出现内存泄漏与溢出,如果不了jvm,那么对于程序的编写与调试将会非常

    2022年6月1日
    55
  • Java调用so文件[通俗易懂]

    Java调用so文件[通俗易懂]公司的硬件让我帮忙调用一个so文件,想着一直都没机会自己写一个jni,于是就答应了,在调用的过程中还踩了不少坑,特地写一篇博客记录一下。一、使用技术原本是想直接用java自带的jni,但是我们硬件只给了一个so文件,而且里面的函数命名等规则不符合java的jni调用标准,于是就打算使用框架jna来调用。JNA就是建立在JNI之上,它简化了Java调用原生函数的过程。JNA提供了一…

    2022年9月19日
    6
  • eXtremeDB_5noobs

    eXtremeDB_5noobseXtremeDB™ 3.1fromMcObject®ReleaseNotesTargetOS:HP-UX11forPA-RISC,ItaniumHostOS:HP-UX11.xBYUSINGTHISSOFTWAREYOUAGREETOMcObject’s LICENSEAGREEMENT

    2022年10月14日
    2
  • Coneroller执行时候的-26374及-26377错误

    Coneroller执行时候的-26374及-26377错误

    2021年8月27日
    52
  • 微机原理与接口技术知识点整理复习–纯手打

    微机原理与接口技术知识点整理复习–纯手打明天就要考试了,来一波知识点整理。都会了,期末考试你不过你来找我!第一章1.按微处理器的字节分类4位微处理器8位微处理器16位微处理器32位微处理器2.这个必须背,不是简答就是简答,肯定出简答3.系统软件给一个实例判断是否是系统软件!常见的系统软件:操作系统、程序语言设计、语言处理程序、数据库管理程序、系统辅助处理程序第二章1….

    2022年6月12日
    40
  • mapper.xml作用_mapper foreach

    mapper.xml作用_mapper foreach今天测试mybatis接口时遇到一个小问题,花了好长时间Failedtoinstantiate[org.apache.ibatis.session.SqlSessionFactory]:Factorymethod’sqlSessionFactory’threwexception;nestedexceptionisorg.springframework.core.NestedIOException:Failedtoparsemappingresource:’file[E

    2022年9月30日
    2

发表回复

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

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