`

js实现弹出框 选择功能

 
阅读更多

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0044)http://www.cssrain.cn/demo/3style/51job.html -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>无标题文档</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
    FONT-SIZE: 12px; PADDING-TOP: 50px; height:100%;
}
html{height:100%;}
H2 {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.bton {
    BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: #ddd; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.cont {
    PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
#main {
    MARGIN: 0px auto; WIDTH: 400px
}
#selectItem {
    BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; MARGIN-TOP: 10px; Z-INDEX: 2; BACKGROUND: #fff; OVERFLOW: hidden; BORDER-LEFT: #000 1px solid; WIDTH: 400px; BORDER-BOTTOM: #000 1px solid; POSITION: absolute; TOP: 0px
}
#preview {
    BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN: 1px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid
}
#result {
    BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 10px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.tit {
    PADDING-LEFT: 10px; MARGIN: 1px; LINE-HEIGHT: 20px; HEIGHT: 20px
}
.bgc_ccc {
    BACKGROUND: #ccc
}
.bgc_eee {
    BACKGROUND: #eee
}
.c_999 {
    COLOR: #999
}
.pointer {
    CURSOR: pointer
}
.left {
    FLOAT: left
}
.right {
    FLOAT: right
}
.cls {
    CLEAR: both; FONT-SIZE: 0px; OVERFLOW: hidden; HEIGHT: 0px
}
#bg {
    DISPLAY: none; Z-INDEX: 1; BACKGROUND: #ccc; FILTER: alpha(opacity=70); LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; opacity: 0.7
}
.hidden {
    DISPLAY: none
}
.move {
    CURSOR: move
}
</STYLE>
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY>
<DIV id=main><INPUT class="bton pointer" onclick=openBg(1);openSelect(1) type=button value=请选择 name=button>
<DIV id=result>
<DIV class="tit bgc_eee">
<H2>您已选择的城市汇总</H2></DIV>
<DIV class=cont id=makeSureItem></DIV></DIV></DIV>
<DIV id=bg></DIV>
<DIV class=hidden id=selectItem>
<DIV class="tit bgc_ccc move" onmousedown=drag(event,this)>
<H2 class=left>请选择城市</H2><SPAN class="pointer right"
onclick=openBg(0);openSelect(0);>[取消]</SPAN> <SPAN class="pointer right"
onclick=makeSure();>[确定]</SPAN> </DIV>
<DIV class=cls></DIV>
<DIV class=cont>
<DIV id=selectSub><SELECT style="MARGIN-BOTTOM: 10px"
onchange=showSelect(this.value) name=""> <OPTION value=0 selected>第0层</OPTION>
  <OPTION value=1>第1层</OPTION> <OPTION value=2>第2层</OPTION> <OPTION
  value=3>第3层</OPTION></SELECT>
<DIV id=c00><INPUT onclick=addPreItem() type=checkbox value=北京 name=ck00>北京
<INPUT onclick=addPreItem() type=checkbox value=福建 name=ck00>福建 <INPUT
onclick=addPreItem() type=checkbox value=四川 name=ck00>四川 <INPUT
onclick=addPreItem() type=checkbox value=江苏 name=ck00>江苏 </DIV>
<DIV id=c01><INPUT onclick=addPreItem() type=checkbox value=上海 name=ck01>上海
<INPUT onclick=addPreItem() type=checkbox value=云南 name=ck01>云南 <INPUT
onclick=addPreItem() type=checkbox value=贵州 name=ck01>贵州 </DIV>
<DIV id=c02><INPUT onclick=addPreItem() type=checkbox value=黑龙江 name=ck01>黑龙江
<INPUT onclick=addPreItem() type=checkbox value=吉林 name=ck01>吉林 <INPUT
onclick=addPreItem() type=checkbox value=辽宁 name=ck01>辽宁 </DIV>
<DIV id=c03><INPUT onclick=addPreItem() type=checkbox value=美国 name=ck01>美国
<INPUT onclick=addPreItem() type=checkbox value=阿富汗 name=ck01>阿富汗 <INPUT
onclick=addPreItem() type=checkbox value=日本 name=ck01>日本 </DIV></DIV></DIV>
<DIV id=preview>
<DIV class="tit bgc_eee c_999">
<H2>您已选择的城市</H2></DIV>
<DIV class=cont id=previewItem></DIV></DIV></DIV>
<SCRIPT type=text/javascript>
/* ------使用说明----- */
/*
    添加城市方法:
        添加组:找到id 是 "selectSub"中select标签下,添加option标签 value属性递增,找到 id 是 "selectSub",按照原有格式添加div,其id属性递增
    添加二级傅选矿选项
        复制 id 是 "selectSub" 下任意input标签,粘贴在需要添加的位置。
*/
var grow = $("selectSub").getElementsByTagName("option").length; //组数
var showGrow = 0;//已打开组
var selectCount = 0; //已选数量
showSelect(showGrow);
var items = $("selectSub").getElementsByTagName("input");
//alert(maxItem);
//var lenMax = 2;
//alert(1);
function $(o){ //获取对象
    if(typeof(o) == "string")
    return document.getElementById(o);
    return o;
}
function openBg(state){ //遮照打开关闭控制
    if(state == 1)
    {
        $("bg").style.display = "block";
        var h = document.body.offsetHeight > document.documentElement.offsetHeight ? document.body.offsetHeight : document.documentElement.offsetHeight;
    //alert(document.body.offsetHeight);
    //alert(document.documentElement.offsetHeight);
        $("bg").style.height = h + "px";
    }
    else
    {
        $("bg").style.display = "none";
    }   
}
function openSelect(state){ //选择城市层关闭打开控制
    if(state == 1)   
    {
        $("selectItem").style.display = "block";
        $("selectItem").style.left = ($("bg").offsetWidth - $("selectItem").offsetWidth)/2 + "px";
        $("selectItem").style.top = document.body.scrollTop + 100 + "px";       
    }
    else
    {
        $("selectItem").style.display = "none";
    }
}
function showSelect(id){
    for(var i = 0 ; i < grow ;i++)
    {
        $("c0" + i).style.display = "none";
    }
    $("c0" + id).style.display = "block";
    showGrow = id;
}
function open(id,state){ //显示隐藏控制
    if(state == 1)
    $(id).style.display = "block";
    $(id).style.diaplay = "none";
}
function addPreItem(){   
    $("previewItem").innerHTML = "";
    var len = 0 ;
    for(var i = 0 ; i < items.length ; i++)
    {
        if(items[i].checked == true)
        {
            //len++;
            //if(len > lenMax)
            //{
            //    alert("不能超过" + lenMax +"个选项!")
            //    return false;
            //}
            var mes = "<input type='checkbox' checked='true' value='"+ items[i].value +"' onclick='copyItem(\"previewItem\",\"previewItem\");same(this);'>" + items[i].value;
            $("previewItem").innerHTML += mes;
            //alert(items[i].value);
        }
    }
}
function makeSure(){
    //alert(1);
    //$("makeSureItem").innerHTML = $("previewItem").innerHTML;
    openBg(0);
    openSelect(0);
    copyItem("previewItem","makeSureItem")   
}
function copyHTML(id1,id2){
    $(id2).innerHTML = $("id1").innerHTML;
}
function copyItem(id1,id2){
   
    var mes = "";
    var items2 = $(id1).getElementsByTagName("input");
    for(var i = 0 ; i < items2.length ; i++)
    {
        if(items2[i].checked == true)
        {
            mes += "<input type='checkbox' checked='true' value='"+ items2[i].value +"' onclick='copyItem(\"" + id2+ "\",\""+ id1 +"\");same(this);'>" + items2[i].value;           
        }
    }
    $(id2).innerHTML = "";
    $(id2).innerHTML += mes;
    //alert($(id2).innerHTML);
}
function same(ck){
    for(var i = 0 ; i < items.length ; i++)
    {
        if(ck.value == items[i].value)
        {
            items[i].checked = ck.checked;
        }
    }
}   
/* 鼠标拖动 */
var oDrag = "";
var ox,oy,nx,ny,dy,dx;
function drag(e,o){
    var e = e ? e : event;
    var mouseD = document.all ? 1 : 0;
    if(e.button == mouseD)
    {
        oDrag = o.parentNode;
        //alert(oDrag.id);
        ox = e.clientX;
        oy = e.clientY;       
    }
}
function dragPro(e){
    if(oDrag != "")
    {   
        var e = e ? e : event;
        //$(oDrag).style.left = $(oDrag).offsetLeft + "px";
        //$(oDrag).style.top = $(oDrag).offsetTop + "px";
        dx = parseInt($(oDrag).style.left);
        dy = parseInt($(oDrag).style.top);
        //dx = $(oDrag).offsetLeft;
        //dy = $(oDrag).offsetTop;
        nx = e.clientX;
        ny = e.clientY;
        $(oDrag).style.left = (dx + ( nx - ox )) + "px";
        $(oDrag).style.top = (dy + ( ny - oy )) + "px";
        ox = nx;
        oy = ny;
    }
}
document.onmouseup = function(){oDrag = "";}
document.onmousemove = function(event){dragPro(event);}
</SCRIPT>
<center>
<br><br><br><br><br><br><br>
<br><br><br><br><br><br><br>
<br><br><br>
</center>
</BODY></HTML>

分享到:
评论
1 楼 HUYIZIZHEN 2011-09-09  
 

相关推荐

    【转】js实现弹出选择路径框

    标题中的“【转】js实现弹出选择路径框”指的是使用JavaScript编程语言来创建一个功能,让用户能够通过图形用户界面(GUI)选择本地文件系统的特定路径。在网页应用中,通常浏览器的安全策略不允许直接访问用户的...

    div弹出框js弹出框

    "div弹出框"和"js弹出框"是指利用HTML的div元素和JavaScript技术来实现这种功能。本文将深入探讨如何使用这两种方法创建自定义弹出框。 一、div弹出框 1. **基本结构**:一个div弹出框通常由两部分组成:隐藏的div...

    js实现弹出框

    在JavaScript编程中,"js实现弹出框"是一个常见的需求,主要是为了替代或自定义浏览器内置的`window.alert()`, `window.confirm()`和`window.prompt()`功能。这些原生的弹出框虽然简单易用,但样式固定且交互性有限...

    自定义JavaScript弹出框组件

    在网页开发中,自定义JavaScript弹出框组件是不可或缺的一部分,它允许开发者创建具有高度定制化功能的对话框,以满足各种用户交互需求。本文将深入探讨如何利用JavaScript实现这样的组件,包括其基本原理、设计思路...

    登录弹出框JS网页特效

    在JS中实现弹出框的打开和关闭,可以使用以下技术: 1. **DOM操作**:通过getElementById或getElementsByClassName等方法获取HTML元素,然后修改它们的display属性以控制显示和隐藏。 2. **事件处理**:添加事件...

    使用JAVASCRIPT实现弹出框,过一段时间自动消失.txt

    ### 使用JavaScript实现弹出框,过一段时间自动消失的知识点解析 在现代网页开发中,弹出框作为一种常见的交互设计,用于向用户展示重要的通知、消息或警告。通过使用JavaScript,我们可以实现一个弹出框,使其在...

    JS动态弹出框,动态效果,lightbox2.3

    "JS动态弹出框,动态效果,lightbox2.3"是一个专为实现这种效果的JS库,它提供了美观且具有动态效果的弹出框解决方案。 Lightbox2.3 是这个库的版本号,它是一款轻量级、易于使用的插件,旨在为用户提供优雅的图片...

    js 精美弹出框 alert

    总之,"js精美弹出框alert"是一个为了提升网页交互体验而设计的解决方案,它通过自定义JavaScript代码和CSS样式,实现了对传统`alert()`的替换,提供了更丰富的功能和更优美的视觉效果。在实际项目中,使用这类插件...

    Javascript弹出框架

    JavaScript弹出框架是一种常见的网页交互技术,用于在用户与页面交互时显示额外信息或功能,如警告、确认对话框、模态窗口等。在这种框架中,`lhgdialog` 是一个具体的实现,它是一个轻量级且功能丰富的弹出对话框...

    点击按钮弹出框选择

    为了实现这样的功能,开发者通常会使用前端框架(如React、Vue、Angular)提供的组件库,这些库提供了现成的弹出框和选择组件,简化了开发工作。例如,React有`react-modal`和`antd`的Modal组件,Vue有`vuetify`的...

    漂亮的js弹出框

    "漂亮的js弹出框"是一个关于利用JavaScript实现美观弹出框的资源,它提供了两种不同的展示方式:显示图片和嵌入网页内容。这个功能在网页设计中十分常见,例如用于提示信息、展示详细内容或进行用户确认操作。 首先...

    js弹出框选择器

    综上所述,"js弹出框选择器"涵盖了JavaScript基础、DOM操作、事件处理、CSS样式、数据结构、逻辑控制、模态对话框、异步编程、响应式设计以及无障碍性等多个方面,是一个综合性的前端开发任务。熟悉并掌握这些知识点...

    超级漂亮的js弹出框效果

    使用媒体查询(media queries)和百分比单位可以实现弹出框在不同屏幕大小下的良好展示。 6. **插件和库**:有许多优秀的JavaScript库,如jQuery UI、SweetAlert、Bootbox.js等,它们提供了预设的弹出框样式和功能...

    两个非常漂亮的js弹出框

    这两个弹出框可能分别采用了纯JavaScript实现或者结合了jQuery库,因为标签中提到了"jQuery js",暗示了可能的实现方式。 首先,我们要理解JavaScript弹出框的基本概念。在JavaScript中,有三种原生的弹出框:`...

    弹出框样式

    `zeroModal.js`可能是这个项目中实现弹出框功能的核心脚本文件。 1. **jQuery弹出框基础**:jQuery提供了`.show()`, `.hide()`, 和 `.toggle()`等方法来控制元素的可见性,这为创建弹出框提供基础。通过CSS设置样式...

    JS实现自动消息弹出框

    在JavaScript(JS)中,实现自动消息弹出框是一项常见的任务,这通常涉及到网页的交互性和用户体验。消息弹出框可以用于提示...记住,良好的用户体验是关键,因此在设计和实现弹出框时要考虑其对整体网页交互的影响。

    div+javascript的弹出框

    这个标题所指的知识点主要涵盖两个部分:一是div元素及其布局,二是JavaScript实现弹出框的原理与方法。 首先,我们来看`div`元素。在HTML中,`&lt;div&gt;`是“division”的缩写,用于定义一个内容区域,它可以包含其他...

    js浮动弹出框特效jquery

    "js浮动弹出框特效jquery"是利用jQuery来实现的一种常见交互功能,它允许在用户与页面交互时动态显示信息或提示,而这种浮动弹出框通常被称为对话框或者模态窗口。 首先,让我们深入了解一下jQuery库。jQuery是由...

    纯js漂亮各种弹出框

    "纯js漂亮各种弹出框"这个主题聚焦于如何利用JavaScript创建美观且功能丰富的弹出提示框和对话框。这些功能通常用于通知用户、获取用户输入或者展示详细信息,提升用户体验。 1. **基本弹出框**: JavaScript提供...

    Web弹出框实例

    本实例将深入探讨如何使用JavaScript实现Web弹出框,并提供相关代码示例。 一、JavaScript弹出框基本类型 1. `alert()`:显示警告对话框,通常包含一条消息和一个“确定”按钮。例如: ```javascript alert("这是...

Global site tag (gtag.js) - Google Analytics