JavaScript总结之鼠标划过弹出div单击出现对话框

为了满足他们的永无止境的要求,我可谓是任劳任怨啊,累断了双手,看瞎了双眼。这个是来写鼠标划过一个按钮,然后弹出一个小提示框解释,另外根据radio是否选中,判断点击后如何执行,然后执行之后再有一个确认或取消。其实部分想要的功能可以从中截取。

js代码:

  1 <script type="text/javascript">
  2 function sAlert_jobdel(str){
  3    var msgw,msgh,bordercolor;
  4    msgw=400;//提示窗口的宽度
  5    msgh=150;//提示窗口的高度
  6    titleheight=25 //提示窗口标题高度
  7    bordercolor="#D3CFD0";//提示窗口的边框颜色
  8    titlecolor="#D3CFD0";//提示窗口的标题颜色
  9
 10    var sWidth,sHeight;
 11    sWidth=document.body.offsetWidth;
 12    sHeight=screen.height;
 13
 14    var bgObj=document.createElement("div");
 15    bgObj.setAttribute(‘id‘,‘bgDiv‘);
 16    bgObj.style.position="absolute";
 17    bgObj.style.top="0";
 18    bgObj.style.background="#777";
 19    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
 20    bgObj.style.opacity="0.6";
 21    bgObj.style.left="0";
 22    bgObj.style.width=sWidth + "px";
 23    bgObj.style.height=sHeight + "px";
 24    bgObj.style.zIndex = "10000";
 25
 26
 27    var msgObj=document.createElement("div")
 28    msgObj.setAttribute("id","msgDiv");
 29    msgObj.setAttribute("align","center");
 30    msgObj.style.background="white";
 31    msgObj.style.border="5px solid " + bordercolor;
 32    msgObj.style.position = "absolute";
 33    msgObj.style.left = "50%";
 34    msgObj.style.top = "50%";
 35    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
 36    msgObj.style.marginLeft = "-225px" ;
 37    msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
 38    msgObj.style.width = msgw + "px";
 39    msgObj.style.height =msgh + "px";
 40    msgObj.style.textAlign = "center";
 41    msgObj.style.lineHeight ="25px";
 42    msgObj.style.zIndex = "10001";
 43
 44     var btn1 = document.createElement("input");
 45     btn1.setAttribute("id","btnMks");
 46     btn1.setAttribute("value","确定");
 47     btn1.setAttribute("type","button");
 48     btn1.setAttribute("width","150px");
 49     btn1.setAttribute("height","20px");
 50     btn1.style.paddingTop="3px";
 51     btn1.style.paddingBottom="3px";
 52     btn1.style.paddingLeft="8px";
 53     btn1.style.paddingRight="8px";
 54     btn1.style.marginTop="40px";
 55     btn1.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100,             finishY=100,style=1,opacity=75,finishOpacity=100);";
 56      btn1.style.opacity="0.75";
 57      btn1.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
 58      btn1.style.cursor="pointer";
 59      btn1.onclick=function(){
 60           document.body.removeChild(bgObj);
 61           document.getElementById("msgDiv").removeChild(title);
 62           document.body.removeChild(msgObj);
 63           }
 64
 65      var title=document.createElement("h4");
 66      title.setAttribute("id","msgTitle");
 67      title.setAttribute("align","right");
 68      title.style.margin="0";
 69      title.style.padding="3px";
 70      title.style.background=bordercolor;
 71      title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
 72      title.style.opacity="0.75";
 73      title.style.border="1px solid " + bordercolor;
 74      title.style.height="18px";
 75      title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
 76      title.style.color="white";
 77      title.style.cursor="pointer";
 78      title.innerHTML="关闭";
 79      title.onclick=function(){
 80           document.body.removeChild(bgObj);
 81           document.getElementById("msgDiv").removeChild(title);
 82           document.body.removeChild(msgObj);
 83           }
 84     var bool=false;
 85     for(i=0;i<document.getElementsByName("job_item").length;i++){
 86     if(document.getElementsByName("job_item").item(i).checked){
 87             bool=true;
 88        }}
 89     if(bool==false){
 90     document.body.appendChild(bgObj);
 91     document.body.appendChild(msgObj);
 92     document.getElementById("msgDiv").appendChild(title);
 93      var txt=document.createElement("p");
 94      txt.style.margin="1em 0"
 95      txt.setAttribute("id","msgTxt");
 96      txt.style.color="#000"
 97      txt.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"
 98      txt.innerHTML=str;
 99      document.getElementById("msgDiv").appendChild(txt);
100      document.getElementById("msgDiv").appendChild(btn1);
101     }else{
102         if(window.confirm(‘删除是不可恢复的,你确定要删除吗?‘)){
103               /*alert("确定");*/
104               return true;
105            }else{
106               /* alert("取消");*/
107               return false;
108            }
109
110     }
111 }
112
113 </script>

这段js代码实现了弹出提示框,还有再次确认框。

 1 <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
 2 <script type="text/javascript">
 3       $(function(){
 4             $("#popup_submit1").mouseover(function(){
 5             $(‘#overflow1‘).delay(400).show(‘fast‘);
 6             })
 7             $("#popup_submit1").mouseout(function(){
 8             $(‘#overflow1‘).hide(‘fast‘);
 9             })
10             $("#popup_submit2").mouseover(function(){
11             $(‘#overflow2‘).delay(400).show(‘fast‘);
12             })
13             $("#popup_submit2").mouseout(function(){
14             $(‘#overflow2‘).hide(‘fast‘);
15             })
16         })
17 </script>

这段代码是鼠标划过显示下拉框。

HTML代码:

 1 <form>
 2   <input type="radio" name="job_item" />
 3   作业1<br />
 4   <input type="radio" name="job_item"  />
 5   作业2<br />
 6   <input type="radio" name="job_item"  />
 7   作业3<br />
 8   <input type="radio" name="job_item"  />
 9   作业4<br />
10   <br />
11   <br />
12   <br />
13   <br />
14   <span style="width:200px;">
15   <input style="width:100px;" id="popup_submit1"  type="button" value="删除"  onclick="sAlert_jobdel(‘请在作业列表中选择一个作业‘);">
16   <div  class="tip1" id="overflow1">
17     <div class="arrow"></div>
18     <div class="wrap">
19       <div class="content">
20         <p>选中一个作业后删除</p>
21       </div>
22     </div>
23   </div>
24   </span> <span style="margin-left:20px; width:200px;">
25   <input style="width:100px;" id="popup_submit2" type="reset" value="重置" >
26   <div  class="tip1" id="overflow2">
27     <div class="arrow"></div>
28     <div class="wrap">
29       <div class="content">
30         <p>取消radio的选中状态</p>
31       </div>
32     </div>
33   </div>
34   </span>
35 </form>

将按钮放在一个form里,可以形成一个像组一样的东西,这样input一个type为reset的重置就可以将选中的radio去掉。

CSS代码:

 1 <style type="text/css">
 2 .tip1 {
 3     position: absolute;
 4     z-index: 999;
 5     display: none;
 6     margin-top: 30px;
 7 }
 8 .tip1 > div.arrow {
 9     background: url(../assets/inline_help_arrow.png);
10     position: absolute;
11     width: 30px;
12     height: 18px;
13     background-repeat: no-repeat;
14     right: 80px;
15     top: 0;
16 }
17 .tip1 > .wrap {
18     -moz-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
19     -o-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
20     -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
21     box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
22     -moz-border-radius: 3px;
23     /* Gecko */
24     -webkit-border-radius: 3px;
25     /* Webkit */
26     -khtml-border-radius: 3px;
27     /* Konqueror */
28     border-radius: 3px;
29     /* CSS3 */
30     border: 1px solid #bbb;
31     border-bottom-color: #aaa;
32     border-right-color: #aaa;
33     background: #fff;
34     background-image: -moz-linear-gradient(#f8f8f8, #ededef);
35     background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f8f8f8), color-stop(1, #ededef));
36     background-image: -webkit-linear-gradient(#f8f8f8, #ededef);
37     background-image: -o-linear-gradient(#f8f8f8, #ededef);
38     background-image: -ms-linear-gradient(top, #f8f8f8, #ededef);
39     background-image: linear-gradient(top, #f8f8f8, #ededef);
40      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#f8f8f8‘, endColorstr=‘#ededef‘);
41     -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#f8f8f8‘, endColorstr=‘#ededef‘)";
42     padding: 5px 5px;
43     width: 150px;
44     color: #333;
45     font-weight: normal;
46     opacity: 0.7;
47     filter: alpha(opacity=70);/* IE 透明度70%*/
48     -moz-opacity: .7;/* Moz + FF 透明度70%*/
49 }
50 .tip1 > .wrap > .content {
51     margin-top: 5px;
52     padding: 0 10px 0 10px;
53     background: #fff;
54     border: 1px solid #cfcfcf;
55     max-height: 400px;
56     overflow-y: auto;
57     -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
58     -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
59     -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
60     box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
61 }
62 .tip1 > .wrap .content p {
63     color: #000;
64 }
65 .tip1 > .wrap h3 {
66     text-align: center;
67     padding-top: 10px;
68     padding-left: 5px;
69     margin: 0;
70     color: #000;
71     font-weight: 600;
72     font-size: 14px;
73 }
74 .tip1 > .wrap h3:first-child {
75     padding-top: 5px;
76 }
77 .tip1 > .wrap h4 {
78     color: #fff;
79     font-style: italic;
80 }
81 </style>

将这些部分合到一个页面里面是可以完美运行起来的。

有空来记录一下确实不错。发上来之前就发现了一出逻辑错误。我用for循环来检测每一个radio。但是也把画弹出框的语句放到循环里了,最后造成的效果是画了好几次。以后这习惯得好好保持啊。

意见建议欢迎提出。

JavaScript总结之鼠标划过弹出div单击出现对话框,布布扣,bubuko.com

时间: 2024-08-08 01:27:02

JavaScript总结之鼠标划过弹出div单击出现对话框的相关文章

ECshop鼠标划过弹出 微信扫一扫代码

 效果如上图 安装步骤:1,将以下代码放到page_header.lbi里   <div class="f_l"><a href="../index.php" name="top"><img src="../images/logo.gif" /></a></div> 的后面 <a href="../index.php" name="

工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏

function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display=="none") {//下面就简单了 不一一赘述了 divs.style.display="block" }else{ divs.style.display="none" } } js原生代码实现 鼠标点击 弹出 隐藏 div隐藏

JavaScript鼠标事件,点击鼠标右键,弹出div

document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示 var res = document.getElementById('box'); //找到id为box的div document.body.onmouseup = function(e){ //在body里点击触发事件 if(e.button===2){ //如果button=1(鼠标左键),button=2(鼠标右键),button=0(鼠标中间键) console

鼠标经过时弹出下拉菜单

<style type="text/css">#cssdropdown, #cssdropdown ul {padding: 0;margin: 0;list-style: none;}#cssdropdown li {float: left;position: relative;}.mainitems{border: 1px solid black;background-color: #FFEEC6;}.mainitems a{margin-left: 6px;margi

jQuery实现的鼠标悬浮链接弹出跟随图片代码

jQuery实现的鼠标悬浮链接弹出跟随图片代码:本章节介绍一下一种比较常用的效果,那就是当鼠标滑过链接的时候,能够出现跟随鼠标指针移动的图层,在实际应用中,一般是对于链接的一些说明文字或者图片等等,下面是代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.so

JavaScript总结之单击弹出div

今天也算用了不少手段来实现他们的要求,大概记录一下,下边的代码示例,我全部修改贴出来,争取全部占到自己的代码里就能用. 1.点击同一个div,打开/关闭另一个div. 1 1 <script type="text/javascript" src="jquery-1.11.1.min.js"></script> 2 2 <script type="text/javascript"> 3 3 /*var btnSh

基于jQuery鼠标点击弹出登陆框效果

基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <input type="button" class="one" value="点击我查看效果" /> <div class="box"> <div class="box2"> <div class=&quo

鼠标提上去弹出提示层(定位)

希望的效果如图: 网上找了各纯css的 做了下修改: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <style> .logo1{     width:150px;     height:60px;     float:left } a.alt{ positi

javascript入门系列演示·三种弹出对话框的用法实例

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%> <!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/