- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0 |
Web开发中经常遇到一些资料量较大的下拉框,这些下拉框会大大增加服务器发挥Response的容量,而有时用户甚至根本不需要用到这些下拉框,这样就严重影响了页面加载的性能,于是构思开发一个通过Ajax技术,在用户点击下拉框时才加载所需数据的组件,从而减少不必要的性能损失。
本篇首先使用HTML实现该组件的功能,以便为后面Renderer JSF组件是提供一个雏形。
因为要捕捉点击下拉框事件,加载数据,所以很明显,HTML所提供的Select控件,无法直接实现我们的目的,因为Select控件不支持下拉按钮的点击事件,并且无法用代码直接打开下拉列表,因此大致的构思是用一个文本框和层实现该功能,生成效果如下:
HTML代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Drop down list</title>
<link rel="stylesheet" type="text/css" href="dropdownliststyle.css">
<script type="text/javascript" src="dropdownlistscript.js"></script>
</head>
<body>
<input type="text" id="DROPDOWN1_INPUT" name="DROPDOWN1_INPUT"
class="dropdown_input">
<img src="" class="dropdown_button" id="DROPDOWN1_IMG"
name="DROPDOWN1_IMG" onclick="showSelector();">
<br>
<div id="DROPDOWN1_AREA" class="dropdown_area"><select
id="DROPDOWN1_SELECTOR" name="DROPDOWN1_SELECTOR" multiple="multiple"
class="dropdown_selector" onchange="giveValue();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select></div>
</body>
</html>
CSS代码如下:
@CHARSET "UTF-8";
.dropdown_button{
margin-left: -20px;
width: 15px;
height: 15px;
}
.dropdown_area{
position: absolute;
width: 200px;
height: 200px;
margin-top: -3px;
display: none;
overflow: auto;
}
.dropdown_input{
width: 200px;
}
.dropdown_selector{
width: 200px;
height: 200px;
}
Javascript代码如下:
function showSelector() {
var ea = document.getElementById("DROPDOWN1_AREA");
var input = document.getElementById("DROPDOWN1_INPUT");
ea.style.top = (input.style.top + 40);
ea.style.left = input.style.left;
ea.style.display = "block";
event.cancelBubble = true;
}
function revertValue() {
hiddenLayer();
}
function giveValue() {
document.getElementById("DROPDOWN1_INPUT").value = document
.getElementById("DROPDOWN1_SELECTOR").options[document
.getElementById("DROPDOWN1_SELECTOR").options.selectedIndex].value;
}
function hiddenLayer() {
document.getElementById("DROPDOWN1_AREA").style.display = "none";
}
document.onmouseup = revertValue;
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |