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

js代码:

 <script type="text/javascript">
function sAlert_jobdel(str){
var msgw,msgh,bordercolor;
msgw=400;//提示窗口的宽度
msgh=150;//提示窗口的高度
titleheight=25 //提示窗口标题高度
bordercolor="#D3CFD0";//提示窗口的边框颜色
titlecolor="#D3CFD0";//提示窗口的标题颜色 var sWidth,sHeight;
sWidth=document.body.offsetWidth;
sHeight=screen.height; var bgObj=document.createElement("div");
bgObj.setAttribute('id','bgDiv');
bgObj.style.position="absolute";
bgObj.style.top="0";
bgObj.style.background="#777";
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity="0.6";
bgObj.style.left="0";
bgObj.style.width=sWidth + "px";
bgObj.style.height=sHeight + "px";
bgObj.style.zIndex = "10000"; var msgObj=document.createElement("div")
msgObj.setAttribute("id","msgDiv");
msgObj.setAttribute("align","center");
msgObj.style.background="white";
msgObj.style.border="5px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft = "-225px" ;
msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
msgObj.style.width = msgw + "px";
msgObj.style.height =msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight ="25px";
msgObj.style.zIndex = "10001"; var btn1 = document.createElement("input");
btn1.setAttribute("id","btnMks");
btn1.setAttribute("value","确定");
btn1.setAttribute("type","button");
btn1.setAttribute("width","150px");
btn1.setAttribute("height","20px");
btn1.style.paddingTop="3px";
btn1.style.paddingBottom="3px";
btn1.style.paddingLeft="8px";
btn1.style.paddingRight="8px";
btn1.style.marginTop="40px";
btn1.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
btn1.style.opacity="0.75";
btn1.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
btn1.style.cursor="pointer";
btn1.onclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
} var title=document.createElement("h4");
title.setAttribute("id","msgTitle");
title.setAttribute("align","right");
title.style.margin="0";
title.style.padding="3px";
title.style.background=bordercolor;
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
title.style.opacity="0.75";
title.style.border="1px solid " + bordercolor;
title.style.height="18px";
title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
title.style.color="white";
title.style.cursor="pointer";
title.innerHTML="关闭";
title.onclick=function(){
document.body.removeChild(bgObj);
document.getElementById("msgDiv").removeChild(title);
document.body.removeChild(msgObj);
}
var bool=false;
for(i=0;i<document.getElementsByName("job_item").length;i++){
if(document.getElementsByName("job_item").item(i).checked){
bool=true;
}}
if(bool==false){
document.body.appendChild(bgObj);
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(title);
var txt=document.createElement("p");
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt");
txt.style.color="#000"
txt.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"
txt.innerHTML=str;
document.getElementById("msgDiv").appendChild(txt);
document.getElementById("msgDiv").appendChild(btn1);
}else{
if(window.confirm('删除是不可恢复的,你确定要删除吗?')){
/*alert("确定");*/
return true;
}else{
/* alert("取消");*/
return false;
} }
} </script>

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

 <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("#popup_submit1").mouseover(function(){
$('#overflow1').delay(400).show('fast');
})
$("#popup_submit1").mouseout(function(){
$('#overflow1').hide('fast');
})
$("#popup_submit2").mouseover(function(){
$('#overflow2').delay(400).show('fast');
})
$("#popup_submit2").mouseout(function(){
$('#overflow2').hide('fast');
})
})
</script>

这段代码是鼠标划过显示下拉框。需要注意下的就是这里有一个延时。是为了避免鼠标无意划过多次,弹出多次。

HTML代码:

 <form>
<input type="radio" name="job_item" />
作业1<br />
<input type="radio" name="job_item" />
作业2<br />
<input type="radio" name="job_item" />
作业3<br />
<input type="radio" name="job_item" />
作业4<br />
<br />
<br />
<br />
<br />
<span style="width:200px;">
<input style="width:100px;" id="popup_submit1" type="button" value="删除" onclick="sAlert_jobdel('请在作业列表中选择一个作业');">
<div class="tip1" id="overflow1">
<div class="arrow"></div>
<div class="wrap">
<div class="content">
<p>选中一个作业后删除</p>
</div>
</div>
</div>
</span> <span style="margin-left:20px; width:200px;">
<input style="width:100px;" id="popup_submit2" type="reset" value="重置" >
<div class="tip1" id="overflow2">
<div class="arrow"></div>
<div class="wrap">
<div class="content">
<p>取消radio的选中状态</p>
</div>
</div>
</div>
</span>
</form>

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

CSS代码:

 <style type="text/css">
.tip1 {
position: absolute;
z-index:;
display: none;
margin-top: 30px;
}
.tip1 > div.arrow {
background: url(../assets/inline_help_arrow.png);
position: absolute;
width: 30px;
height: 18px;
background-repeat: no-repeat;
right: 80px;
top:;
}
.tip1 > .wrap {
-moz-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
-o-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
-webkit-box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
box-shadow: 2px 2px 10px rgba(0, 0, 10, 0.3), inset 0 1px 2px white;
-moz-border-radius: 3px;
/* Gecko */
-webkit-border-radius: 3px;
/* Webkit */
-khtml-border-radius: 3px;
/* Konqueror */
border-radius: 3px;
/* CSS3 */
border: 1px solid #bbb;
border-bottom-color: #aaa;
border-right-color: #aaa;
background: #fff;
background-image: -moz-linear-gradient(#f8f8f8, #ededef);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f8f8f8), color-stop(1, #ededef));
background-image: -webkit-linear-gradient(#f8f8f8, #ededef);
background-image: -o-linear-gradient(#f8f8f8, #ededef);
background-image: -ms-linear-gradient(top, #f8f8f8, #ededef);
background-image: linear-gradient(top, #f8f8f8, #ededef);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#ededef');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#ededef')";
padding: 5px 5px;
width: 150px;
color: #333;
font-weight: normal;
opacity: 0.7;
filter: alpha(opacity=70);/* IE 透明度70%*/
-moz-opacity: .7;/* Moz + FF 透明度70%*/
}
.tip1 > .wrap > .content {
margin-top: 5px;
padding: 0 10px 0 10px;
background: #fff;
border: 1px solid #cfcfcf;
max-height: 400px;
overflow-y: auto;
-moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
-o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
}
.tip1 > .wrap .content p {
color: #000;
}
.tip1 > .wrap h3 {
text-align: center;
padding-top: 10px;
padding-left: 5px;
margin:;
color: #000;
font-weight:;
font-size: 14px;
}
.tip1 > .wrap h3:first-child {
padding-top: 5px;
}
.tip1 > .wrap h4 {
color: #fff;
font-style: italic;
}
</style>

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

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

意见建议欢迎提出。

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

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

    function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display==& ...

  2. Jquery hover鼠标经过时弹出div动态提示语

    一.效果图 二.需求描述 1.鼠标经过table每一行时,弹出div动态提示语: 2.div弹出层的位置随鼠标位置的变化而变化: 3.鼠标离开table或获取的动态提示语为空时,div弹出层消失. 下 ...

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

    document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示 var res = document.getElementById('b ...

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

     效果如上图 安装步骤:1,将以下代码放到page_header.lbi里   <div class="f_l"><a href="../index.p ...

  5. 鼠标滑过弹出jquery在线客服

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

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

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

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

    基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <input type=" ...

  8. 联想E440问题:点击鼠标时,弹出“无法连接synaptics定点装置驱动程序”错误

    笔记本:Levono E440   问题描述: 在控制面板中,点击鼠标时,弹出“无法连接synaptics定点装置驱动程序”错误,如何解决? 即使在安装联想的驱动后,也没办法解决   解决步骤: 1. ...

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

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

随机推荐

  1. Codeforces Round #194 (Div. 2) D. Chips

    D. Chips time limit per test:1 second memory limit per test:256 megabytes input:standard input outpu ...

  2. Windows Server 2008企业64位版防火墙添加端口的方法

    原始地址:http://www.veryhuo.com/a/view/48280.html 什么是防火墙的入站规则和出站规则 简单的说 出站就是你访问外网 入站就是外网访问你 记得在两年前写过一篇教程 ...

  3. tp其他功能

    数据缓存 在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,3.1版本推荐的数据缓存方法是cache方法,基本的用法是:(3.1.2版本cache方 ...

  4. drupal7创始人root忘记密码的解决办法

    在index.php中的drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);之后加入 require_once 'includes/password.inc'; echo ...

  5. 使用SelectClipRgn注意事项

    SelectClipRgn 函数功能:该函数选择一个区域作为指定设备环境的当前剪切区域. 函数原型:int SelectClipRgn(HDc hdc, HRGN hrgn): 参数: hdc:设备环 ...

  6. 什么是Activity、生命周期

    1.什么是Activity 1.当程序第一次运行时用户就会看这个Activity,这个Activity可以通过启动其他的Activity进行相关的操作. 2.当启动其他的Activty时这个当前的这个 ...

  7. JavaScript 获取 Div 的坐标

    示例代码: <html> <head> <script> function CPos(x, y) { this.x = x; this.y = y; } /** * ...

  8. GridView 导出Excel

    protected void btnExcel_Click(object sender, EventArgs e) { ) { ExportGridViewForUTF8(GridView1, Dat ...

  9. MEMS陀螺仪—MEMS产品中的杀手

    MEMS陀螺仪(gyroscope)将成为MEMS产品的杀手.它已经被大量地应用在消费和汽车产品上.它的性能每两年提高十倍,它的成本却由于集成度和需求量的提高而不断下降.一旦MEMS陀螺仪的价格下降到 ...

  10. C++利用指针突破私有成员访问限制

    C++ 面向对象的一大特性就是封装,使用不同的访问控制符来控制外接对其的访问权限.比如: 1 class A 2 { 3 public: 4 A(): i(10){} 5 void print(){ ...