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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
#Adiv div {float:left; width:100px;border:1px solid #333;margin-top:100px;}
#SDiv {width:135px;position: absolute;}
</style>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
var x = -90;
var y = -70;
$("#Adiv div").mouseenter(function(e){
this.xx = ($(this).index() + 1) * 100;
this.yy = $(this).offset().top;
var login = $(this).attr("href");
if($("#SDiv")){$("#SDiv").remove();}
var div = "<div id='SDiv' style='border:1px solid #333'><img src='images/login_box/box_onmouse.png' border='0' usemap='#Map' /><map name='Map' id='Map'><area shape='rect' id='divLogin' coords='16,14,67,35' href="+login+" /><area shape='rect' id='divRegister' coords='75,15,127,37' href='http://www.baidu.com' /></map></div>";
$("body").append(div);
$("#SDiv").css({ "top": (this.yy + y) + "px", "left": (this.xx + x) + "px" });
}).mouseleave(function (e) {
var ex = e.pageX;
var ey = e.pageY;
var sx = $("#SDiv").offset().top;
var sxx = $("#SDiv").offset().top + 72;
var sy = $("#SDiv").offset().left;
var syy = $("#SDiv").offset().left + 135;
if(ey > sx && ey <= sxx && ex > sy && ex <= syy){
$("#SDiv").mouseleave(function(){$("#SDiv").remove();});
return false;
}
$("#SDiv").remove();
});
})
</script>
</head>

<body>
<!--
<div class="box_onmouse"><img src="images/login_box/box_onmouse.png" border="0" usemap="#Map" />
<map name="Map" id="Map">
<area shape="rect" id="divLogin" coords="16,14,67,35" href="#" />
<area shape="rect" id="divRegister" coords="75,15,127,37" href="#" />
</map>
</div>
-->
<div id="Adiv">
<div href="11111">1111111</div>
<div href="22222">2222222</div>
<div href="33333">3333333</div>
</div>
<div>项目中有这样的需求:鼠标移动到某个div上面时动态创建一个层,这个层中有2个按钮图片(美工切换了),每个图片链接不同地址(链接地址有前面的div提供),鼠标移除这个层则移除创建的div,如果鼠标移动到这个创建的div上面则不移除</div>
</body>
</html>

(0)

相关推荐

  • jQuery 绑定事件到动态创建的元素上的方法实例

    在进入主题之前,我们先来看一个前台页面经常用到的功能:点击页面输入框时自动选择其中文本. 很容易想到利用输入框的focus事件,当输入框获得焦点时,再调用jQuery的select()方法. Okay,想法很简单,逻辑似乎也无错.具体我们来看一下现实到底能不能实现. 1.页面构造个表单,放上几个输入框.代码看起来是这样子的. 复制代码 代码如下: <form action="/" method="post">        <table>  

  • jquery创建表格(自动增加表格)代码分享

    复制代码 代码如下: <!DOCTYPE html><html dir="ltr" lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width" /><title>jQuery 表格自动增加</title&

  • jquery 动态创建元素的方式介绍及应用

    一般动态创建元素可以通过两种方式 1.Dom HTml 复制代码 代码如下: var select = document.createElement("select"); select.options[0] = new Option("加载项1", "value1"); select.options[1] = new Option("加载项2", "value2"); select.size = "

  • jQuery 如何先创建、再修改、后添加DOM元素

    如何一气呵成地,on the fly地操作DOM元素呢? 例如顺序执行[创建]-> [修改]-> [添加]三个动作. 由于jQuery支持链式操作,其实就是设计模式的builder模式,所以我们可以把三个操作串在一起来执行. 首先创建一个p元素,内容包含一个a元素. 复制代码 代码如下: $('<p><a>jQuery</a></p>') 然后为a元素添加一个href属性 复制代码 代码如下: $('<p><a>jQuer

  • 基于jquery的动态创建表格的插件

    废话少说直接进入主题, 表格功能: 1.添加 2.删除 3.获取值 4.动态填充数据 5.动态设置焦点 6.键盘左右上下键控制单元格焦点 7.单元格添加正则验证功能 WebForm4.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="table.WebForm4" %&

  • jQuery创建平滑的页面滚动(顶部或底部)

    在这篇文章中,我将通过本教程向您展示了如何创建一个平滑的滚动效果,使用jQuery.让您可以滚动到你的网页的顶部或底部 它是如何工作的 首先,加载jquery库在</ head>标签结束前: 复制代码 代码如下: <script type="text/javascript" src="http://demo.jb51.net/jslib/jquery/jquery1.3.2.js"></script>jQuery滚动到底部: 链接

  • 基于Jquery的动态创建DOM元素的代码

    动态创建div: 复制代码 代码如下: $(function(){ $("<div>",{ id: 'test', text: 'this is a test', "class": "test", click: function(){ $(this).toggleClass('test'); } }).appendTo("body"); }) 动态创建input: 复制代码 代码如下: $(function(){

  • JQuery动态创建DOM、表单元素的实现代码

    复制代码 代码如下: <!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=&qu

  • jQuery动态创建html元素的常用方法汇总

    本文实例讲述了jQuery动态创建html元素的常用方法,在使用jQuery进行WEB程序设计的时候非常有用.分享给大家供大家参考.具体方法如下: 一般来说,可以通过以下几种方式动态创建html元素: 1.使用jQuery创建元素的语法 2.把动态内容存放到数组中,再遍历数组动态创建html元素 3.使用模版 1.使用jQuery动态创建元素追加到jQuery对象上. <meta http-equiv="Content-Type" content="text/html;

  • Jquery创建层显示标题和内容且随鼠标移动而移动

    复制代码 代码如下: <script src="Core/Public/js/jquery.js" type="text/javascript"></script> //引入Jquery <style type="text/css"> //编写创建的div的样式 #tooltip { position: absolute; border: 1px #solid #333; background: #f7f5d1

  • 使用jQuery插件创建常规模态窗口登陆效果

     隐藏模态窗口技术是一种很好的解决方案,用于处理不是特有必要出现在网页上的界面元素.社交网络可以使用模态窗口传达私人讯息以及只针对会员才能看 到的表单.在博客和杂志网站也适用于与主网站分开的作者登陆页面,模态窗口比在JavaScript中创建新窗口更容易,因为使用HTML标记显示,所有 的东西能都呈现在同一个窗口中. 我将演示如何利用jQuery插件leanModal建立一个常规模态窗口.如果你有MIT general license,那么这个插件是完全开源和免费的,我很喜欢这个插件,用起来相当

  • 基于jquery的一个OutlookBar类,动态创建导航条

    图示效果:演示地址:http://demo.jb51.net/js/menu_jquery/index.html下载地址:http://xiazai.jb51.net/201011/yuanma/menu_jquery.rarOutlookBar.js 复制代码 代码如下: function OutlookBar(targetName)//targetName:右侧iframe的name { //创建标题 this.AddTitle=function(menuid,menutitle,openo

随机推荐