- 浏览: 206321 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (77)
- 技术点滴 (22)
- 14012 (1)
- 14013 (7)
- 14015 (5)
- 14016 (6)
- 14001 (6)
- 14017 (5)
- 15002 (1)
- 15003 (1)
- 14022 (1)
- struts2+spring+hibernate (0)
- jquery (0)
- JBPM (0)
- 技术研究 (4)
- http://www.oschina.net/translate/going-rest-embedding-jetty-with-spring-and-jax-rs-apache-cxf (0)
- 开源架构 (4)
- 通讯+多线程 (5)
- BasicKnowledge (1)
- 企业架构 (1)
- 优化类 (1)
最新评论
-
斯文只是爱好:
遇到一样的问题,我也是发现能用merge方法解决,但是,心里还 ...
Hibernate 异常:Illegal attempt to associate a collection with two open sessions -
talkname:
但是save是添加,merge是更新,把save变成merge ...
Hibernate 异常:Illegal attempt to associate a collection with two open sessions -
fuaotech:
恩 相互借鉴!
JS代码放在head和body的区别 -
sxm2017:
...
警告:Parameters:Invalid chunk ignored -
415421979:
...
警告:Parameters:Invalid chunk ignored
select下拉框显示图片
2011-11-22
今天,在网易博客中看到一篇好的技术文档,在此记录下来。
将所有供选图片命名为“0.gif”、“1.gif”……“9.gif”,并放在“head”目录下。
图片下拉菜单的代码如下:
<!--建立表单-->
<form name="myform" method="post" action="">请选择图片:
<div id="imgBox"><!--这里是图片下拉选择器的位置--></div>
<input name="myhead" type="text" id="myface" size="10" value="">
</form>
<script language="JavaScript">
<!--
var imgWidth=64; //列表框中图片的宽度;
var imgHeight=64; //列表框中图片的高度;
var imgSrc="head/数字序号.jpg"; //供选图片的路径。"数字序号"四字将在程序中替换为0,1,2...,不要手工更改为数字 ;
var selectedNo=7; //默认选定的图片序号;
var selecteSize=2; //下拉列表框中显示的图片数;
/* 以下把图片和层输出在"imgBox"的位置:
我们用变量"isin"记录鼠标是否在该控件上;用CSS定义下拉列表框的滚动条,"overflow-x:hidden;overflow-y:scroll;"指水平方向不滚动,竖直方面滚动;
用for()循环依次把图片输出到下拉列表框。
*/
var myHTML='<SPAN onmouseover="isin=true" onmouseout="isin=false">';
myHTML+='<table width="1" onclick="showlist(this)" title="选择提示框" border="0" cellspacing="0" cellpadding="0"><tr><td><img name="imgselected" border=1 src="'+imgSrc.replace("数字序号",selectedNo)+'" WIDTH='+(imgWidth)+' HEIGHT='+imgHeight+'></td><td valign=top><img src="menu.jpg"></td></tr></table>';
myHTML+='<DIV onscroll="scrollud()" id="imgBox" \n';
myHTML+='style="position:absolute;left=-800;top=0;background-color:#FFFFFF;border: 1px solid #000000;overflow-x:hidden;overflow-y:scroll; width:'+(imgWidth+20)+'px; height: '+imgHeight*selecteSize+'px">';
for(i=0;i<10;i++){
myHTML+="<img listID="+i+" src='"+imgSrc.replace("数字序号",i)+"' alt='"+imgSrc.replace("数字序号",i)+"' width="+imgWidth+" height="+imgHeight+" onclick='selectme(this)' onload='if(init)init()'><BR>";
}
myHTML+= "</DIV></SPAN>";
imgBox.outerHTML=myHTML;
/* 以下控制下拉列表框的出现或隐藏 */
function showlist(obj){//这个函数将在选择提示框点击时激活
//如果列表框已经出现,这次点击则隐藏:
if(imgBox.style.pixelLeft!=-800){imgBox.style.pixelLeft=-800; return;}
//读取选择提示框在窗体中的绝对位置:
//在父容器中的相对位置:
var mytop=obj.offsetTop;
var myleft=obj.offsetLeft;
//依次读取父容器在更高一级父容器中的相对位置:
while(obj=obj.offsetParent){
myleft+=obj.offsetLeft;
mytop+=obj.offsetTop;
}
//现在已经得到选择提示框的绝对位置myleft和mytop。
//下拉列表拉就出现在这个绝对位置的正下方:
imgBox.style.left=myleft;
imgBox.style.top=mytop+imgHeight+2;
}
var isin=false;
function selectme(obj){ //这个函数将在窗体点击或选定图片时激活,窗体点击中传递的参数是null。
if(!isin||obj){imgBox.style.pixelLeft=-800;} //隐藏列表框
if(obj){
//改变选择提示框中的图片和"myhead"输入框中的值:
//listID是对象的自定义属性,即在对象的标签中定义了这个属性值,现在就可以读取或改变。
myform.myhead.value=imgSrc.replace("数字序号",obj.listID);
document.images["imgselected"].src=imgSrc.replace("数字序号",obj.listID);
}
}
/* 以下控制下拉列表框的自动滚动 */
var mytime=setTimeout("",0);
var pre_X=0; //这个变量用来记录滚动前滚动条的位置
function scrollud(){ //本函数在下拉列表框滚动时被激活
var current_X=imgBox.scrollTop; //记录函数激活时滚动条的位置
//判断向上还是向下滚动,并自动滚动到"imgHeight"的整数倍。
//我们改变列表框的scrollTop值时,会自动激发其onscroll事件,循环激活本函数。
if(current_X>pre_X && imgBox.scrollTop< Math.ceil(imgBox.scrollTop/imgHeight)*imgHeight){
clearTimeout(mytime);
mytime=setTimeout("imgBox.scrollTop=Math.round(imgBox.scrollTop+1);",1);
}
else if(current_X<pre_X && imgBox.scrollTop> Math.floor(imgBox.scrollTop/imgHeight)*imgHeight){
clearTimeout(mytime);
mytime=setTimeout("imgBox.scrollTop=Math.round(imgBox.scrollTop-1);",1);
}
pre_X=current_X;
}
//使列表框自动滚动到默认选定的图片位置,并给"myhead"输入框以默认值
function init(){ //本函数在每个列表框中的图片加载时激活
imgBox.scrollTop=selectedNo*imgHeight;
myform.myhead.value=imgSrc.replace("数字序号",selectedNo);
}
/* 以下使窗体点击时selectme(obj)函数被激活: */
myActivation="selectme(null)";
if(document.body.onclick)
{
eval(document.body.onclick.toString().replace('anonymous()','bodyclick()'));
document.body.onclick=new Function("bodyclick();"+myActivation);
}
else document.body.onclick=new Function(myActivation);
-->
</script>
完成后效果如下:
对照上面的代码,我的程序中多了一句:var init=0;,去掉就好了.
var imgWidth=64; //The images width in the imgBox;
var imgHeight=64; //The images height in the imgBox;
var selectedNo=6; //The image's No which is eslected;
var selecteSize=2; //the count of items which be show in the list;
var imgSrc="../images/liuyan/数字序号.gif"; //Don't Replace "数字序号" to figure;
var isnum="数字序号";
var init=0;
/************* Write images *************/
var myHTML='<SPAN onmouseover="isin=true" onmouseout="isin=false">';
myHTML+='<table width="1" onclick="showlist(this)" title="选择提示框" border="0" cellspacing="0"
cellpadding="0"><tr><td><img name="imgselected" border=0 src="'+imgSrc.replace("数字序号",selectedNo)
+'" WIDTH='+(imgWidth)+' HEIGHT='+imgHeight+'></td><td valign=top><img
src="../images/liuyan/menu.gif"></td></tr></table>';
myHTML+='<DIV onscroll="scrollud()" id="imgBox" \n';
myHTML+='style="position:absolute;left=-800;top=0;background-color:#FFFFFF;border: 1px solid
#000000;overflow-x:hidden;overflow-y:scroll; width:'+(imgWidth+20)+'px; height:
'+imgHeight*selecteSize+'px">';
for(i=1;i<39;i++){
2011-11-22
今天,在网易博客中看到一篇好的技术文档,在此记录下来。
将所有供选图片命名为“0.gif”、“1.gif”……“9.gif”,并放在“head”目录下。
图片下拉菜单的代码如下:
<!--建立表单-->
<form name="myform" method="post" action="">请选择图片:
<div id="imgBox"><!--这里是图片下拉选择器的位置--></div>
<input name="myhead" type="text" id="myface" size="10" value="">
</form>
<script language="JavaScript">
<!--
var imgWidth=64; //列表框中图片的宽度;
var imgHeight=64; //列表框中图片的高度;
var imgSrc="head/数字序号.jpg"; //供选图片的路径。"数字序号"四字将在程序中替换为0,1,2...,不要手工更改为数字 ;
var selectedNo=7; //默认选定的图片序号;
var selecteSize=2; //下拉列表框中显示的图片数;
/* 以下把图片和层输出在"imgBox"的位置:
我们用变量"isin"记录鼠标是否在该控件上;用CSS定义下拉列表框的滚动条,"overflow-x:hidden;overflow-y:scroll;"指水平方向不滚动,竖直方面滚动;
用for()循环依次把图片输出到下拉列表框。
*/
var myHTML='<SPAN onmouseover="isin=true" onmouseout="isin=false">';
myHTML+='<table width="1" onclick="showlist(this)" title="选择提示框" border="0" cellspacing="0" cellpadding="0"><tr><td><img name="imgselected" border=1 src="'+imgSrc.replace("数字序号",selectedNo)+'" WIDTH='+(imgWidth)+' HEIGHT='+imgHeight+'></td><td valign=top><img src="menu.jpg"></td></tr></table>';
myHTML+='<DIV onscroll="scrollud()" id="imgBox" \n';
myHTML+='style="position:absolute;left=-800;top=0;background-color:#FFFFFF;border: 1px solid #000000;overflow-x:hidden;overflow-y:scroll; width:'+(imgWidth+20)+'px; height: '+imgHeight*selecteSize+'px">';
for(i=0;i<10;i++){
myHTML+="<img listID="+i+" src='"+imgSrc.replace("数字序号",i)+"' alt='"+imgSrc.replace("数字序号",i)+"' width="+imgWidth+" height="+imgHeight+" onclick='selectme(this)' onload='if(init)init()'><BR>";
}
myHTML+= "</DIV></SPAN>";
imgBox.outerHTML=myHTML;
/* 以下控制下拉列表框的出现或隐藏 */
function showlist(obj){//这个函数将在选择提示框点击时激活
//如果列表框已经出现,这次点击则隐藏:
if(imgBox.style.pixelLeft!=-800){imgBox.style.pixelLeft=-800; return;}
//读取选择提示框在窗体中的绝对位置:
//在父容器中的相对位置:
var mytop=obj.offsetTop;
var myleft=obj.offsetLeft;
//依次读取父容器在更高一级父容器中的相对位置:
while(obj=obj.offsetParent){
myleft+=obj.offsetLeft;
mytop+=obj.offsetTop;
}
//现在已经得到选择提示框的绝对位置myleft和mytop。
//下拉列表拉就出现在这个绝对位置的正下方:
imgBox.style.left=myleft;
imgBox.style.top=mytop+imgHeight+2;
}
var isin=false;
function selectme(obj){ //这个函数将在窗体点击或选定图片时激活,窗体点击中传递的参数是null。
if(!isin||obj){imgBox.style.pixelLeft=-800;} //隐藏列表框
if(obj){
//改变选择提示框中的图片和"myhead"输入框中的值:
//listID是对象的自定义属性,即在对象的标签中定义了这个属性值,现在就可以读取或改变。
myform.myhead.value=imgSrc.replace("数字序号",obj.listID);
document.images["imgselected"].src=imgSrc.replace("数字序号",obj.listID);
}
}
/* 以下控制下拉列表框的自动滚动 */
var mytime=setTimeout("",0);
var pre_X=0; //这个变量用来记录滚动前滚动条的位置
function scrollud(){ //本函数在下拉列表框滚动时被激活
var current_X=imgBox.scrollTop; //记录函数激活时滚动条的位置
//判断向上还是向下滚动,并自动滚动到"imgHeight"的整数倍。
//我们改变列表框的scrollTop值时,会自动激发其onscroll事件,循环激活本函数。
if(current_X>pre_X && imgBox.scrollTop< Math.ceil(imgBox.scrollTop/imgHeight)*imgHeight){
clearTimeout(mytime);
mytime=setTimeout("imgBox.scrollTop=Math.round(imgBox.scrollTop+1);",1);
}
else if(current_X<pre_X && imgBox.scrollTop> Math.floor(imgBox.scrollTop/imgHeight)*imgHeight){
clearTimeout(mytime);
mytime=setTimeout("imgBox.scrollTop=Math.round(imgBox.scrollTop-1);",1);
}
pre_X=current_X;
}
//使列表框自动滚动到默认选定的图片位置,并给"myhead"输入框以默认值
function init(){ //本函数在每个列表框中的图片加载时激活
imgBox.scrollTop=selectedNo*imgHeight;
myform.myhead.value=imgSrc.replace("数字序号",selectedNo);
}
/* 以下使窗体点击时selectme(obj)函数被激活: */
myActivation="selectme(null)";
if(document.body.onclick)
{
eval(document.body.onclick.toString().replace('anonymous()','bodyclick()'));
document.body.onclick=new Function("bodyclick();"+myActivation);
}
else document.body.onclick=new Function(myActivation);
-->
</script>
完成后效果如下:
对照上面的代码,我的程序中多了一句:var init=0;,去掉就好了.
var imgWidth=64; //The images width in the imgBox;
var imgHeight=64; //The images height in the imgBox;
var selectedNo=6; //The image's No which is eslected;
var selecteSize=2; //the count of items which be show in the list;
var imgSrc="../images/liuyan/数字序号.gif"; //Don't Replace "数字序号" to figure;
var isnum="数字序号";
var init=0;
/************* Write images *************/
var myHTML='<SPAN onmouseover="isin=true" onmouseout="isin=false">';
myHTML+='<table width="1" onclick="showlist(this)" title="选择提示框" border="0" cellspacing="0"
cellpadding="0"><tr><td><img name="imgselected" border=0 src="'+imgSrc.replace("数字序号",selectedNo)
+'" WIDTH='+(imgWidth)+' HEIGHT='+imgHeight+'></td><td valign=top><img
src="../images/liuyan/menu.gif"></td></tr></table>';
myHTML+='<DIV onscroll="scrollud()" id="imgBox" \n';
myHTML+='style="position:absolute;left=-800;top=0;background-color:#FFFFFF;border: 1px solid
#000000;overflow-x:hidden;overflow-y:scroll; width:'+(imgWidth+20)+'px; height:
'+imgHeight*selecteSize+'px">';
for(i=1;i<39;i++){
发表评论
-
jenkins持续集成(jenkins+docker+mvn+git)
2019-08-16 01:58 0前端构建需要nodejs环境 2个问题 jenkins调用本 ... -
SQl+多服务部署并发访问DB
2018-08-01 10:31 753数据库 student id nam ... -
TCP 三次握手4次挥手收集
2018-07-31 11:36 469原理通俗解释 https://blog.csdn.net/Sp ... -
springboot构建微服务(-)
2016-04-25 19:27 740前面章文章 http://fuaotech.it ... -
自己构建微服务(springmvc+内嵌jetty+maven 环境配置)
2016-04-20 21:00 9191pom.xml文件 <project xml ... -
jetty7 同时并发连接多个目的主机时(100+) 本地tcp端口不够用的解决方案,技术点滴,通讯+多线程
2015-07-17 12:45 1615第一种方法 改注册表 改变这个变量:MaxUserP ... -
jetty3 httpclient性能并发
2015-01-07 23:52 854httpclient的并发连接问题 Poste ... -
关于Java.util.ArrayList和Java.util.Iterator的问题
2011-12-09 17:35 1704关于Java.util.ArrayList和Java.util ... -
Openfire二次开发用户手册
2011-12-08 17:21 1221Openfire二次开发用户手册 冷志勇 参考文档 htt ... -
Openfire安装整合用户手册
2011-12-08 17:19 2545Openfire安装整合用户手册 冷志勇 官网 http:/ ... -
Hibernate 异常:Illegal attempt to associate a collection with two open sessions
2011-12-08 16:47 11770Hibernate 异常: Illegal attempt ... -
采用CAS原理构建单点登录
2011-12-05 11:03 1451采用CAS原理构建单点登录 企业的信息化过程是一个循 ... -
mysql使用rand随机查询记录效率测试
2011-12-02 17:18 986一直以为mysql随机查询几条数据,就用 SELECT * F ... -
java获取汉子首字母
2011-12-02 17:16 1237public class StringUtil { //pr ... -
空指针错误 java.lang.NullPointerException
2011-12-02 16:47 1649使用基本的JAVA数据类型,变量的值要么已经是默认值, ... -
fckeditor配置
2011-12-01 18:38 1266下载2。6编辑器,和for java 2。3 包解压在网站根目 ... -
Spring 中bean 的生命周期短暂吗?
2011-11-26 15:31 913Spring 中bean 的生命周期短暂吗? 在spring中 ... -
警告:Parameters:Invalid chunk ignored
2011-11-25 19:56 6830警告:Parameters:Invalid chunk ign ... -
Struts+Spring+Hibernate开发实例
2011-11-25 19:55 915Struts+Spring+Hibernate开 ... -
Java核心之Java内存分配原理
2011-11-25 19:54 893JAVA内存分配与管理 ...
相关推荐
但随着现代Web技术的发展,我们可以通过一些技巧来实现`select`下拉框中显示图片和文本的复合内容。以下是一些关键知识点,用于在`select`下拉列表中显示图片内容: 1. **CSS模拟**: 一个常见方法是使用CSS来模拟...
纯Css更改Select下拉框样式,显示框的样式更改,下拉列表的样式更改!纯干货,肯定是你需要的 纯Css更改Select下拉框样式,显示框的样式更改,下拉列表的样式更改!纯干货,肯定是你需要的 纯Css更改Select下拉框...
在实际开发中,我们可能会遇到一种需求,即通过下拉框选择来控制图片的显示。本文将详细介绍如何使用JavaScript来实现这一功能。 首先,我们需要知道HTML中`<img>`标签的`src`属性用于指定图片的URL路径。而`...
仿select下拉框的主要特点包括: 1. **美化样式**:通过CSS样式可以完全控制下拉框的外观,包括边框、背景色、字体、颜色等,使其与网站的整体设计风格保持一致,提升视觉效果。 2. **增强交互**:添加动画效果,...
"DIV模拟select下拉框"就是一种利用JavaScript库,如jQuery,来实现这一目标的技术。它通过用CSS样式化的DIV元素替换原生的SELECT元素,从而提供更灵活的外观和交互体验。 标题中的"DIV模拟select下拉框"意味着我们...
《jQuery Select下拉框美化代码详解》 在网页设计中,下拉选择框(Select)是一种常见的用户交互元素,但其默认样式往往显得单调且不友好。为了提升用户体验,jQuery库提供了一系列方法和插件来美化这个元素。本文...
js控制select选中显示不同表单内容select下拉菜单特效 js控制select选中显示不同表单内容select下拉菜单特效 js控制select选中显示不同表单内容select下拉菜单特效
这就涉及到了“select图片下拉框”的实现方法。 传统的HTML `<select>` 元素仅允许文本内容,但通过一些技巧和JavaScript库,我们可以创建带有图片的下拉框。以下是一些常用的技术和策略: 1. **使用CSS和HTML结构...
jQuery Select下拉框美化插件是专为解决这个问题而设计的,它能够将原本样式单一的Select元素转化为具有现代感、美观且交互友好的组件。这款插件基于jQuery库,结合CSS和JavaScript技术,可以轻松地与HTML5兼容,...
本示例“jQuery下拉框图片选择特效imageselect.js”是利用jQuery的强大力量来提升用户界面的美观性和交互性。在这个项目中,我们将会探讨如何使用这个插件来实现一个具有图片选择功能的下拉菜单,从而让传统的...
《jQuery Select下拉框菜单选择插件》 在网页开发中,下拉框(Select)是一种常见的表单元素,用于用户在预设的选项中进行选择。然而,原生的HTML下拉框样式单一,功能有限,无法满足复杂的交互需求。这时,jQuery...
在压缩包的文件名列表中,我们看到"demo.txt"可能是包含示例代码或者使用说明的文本文件,"select2"可能是Select2库的文件夹,里面包含了各种JavaScript和CSS文件,以及可能的图片资源。"需要引入的文件"则可能是指...
本压缩包“实用select下拉框美化jquery插件.zip”就是一个针对此需求的解决方案,它包含了一系列的文件,用于实现美观、功能丰富的下拉框效果。 首先,`index.html`是项目的主入口文件,它包含了HTML结构,其中可能...
因此,"js select美化下拉框美化" 成为了一个重要的开发话题。这个主题主要涉及到JavaScript、CSS以及可能的库或框架的应用,以提升下拉框的视觉效果和用户体验。 JavaScript 是实现下拉框美化的关键工具,它可以...
以下是一个关于如何在`<select>`和`<option>`中添加自定义图片的详细教程。 首先,我们需要理解HTML基础。`<select>`元素创建一个可选列表,用户可以选择其中的一个或多个选项。`<option>`元素定义了下拉列表中的一...
在网页设计中,Select下拉框是常见的交互元素,用于用户在多个选项中进行选择。然而,原生的Select下拉框样式往往较为单一,不符合现代网页设计的美观要求。"jQuery美化Select下拉框"就是为了解决这个问题,它通过...
本篇文章将详细介绍如何在Select下拉框右边添加图标,以增强用户界面的吸引力。 首先,让我们来看看实现这个效果的基本HTML结构。在示例中,我们有四个选择器(`<select>`),每个选择器后面都跟着一个图片元素(`...
`这行代码将`<select>`元素的名称为"logo"的下拉框设置为显示图片,并设置了下拉列表的宽度为425像素。 6. **动画效果**:在插件内部,可能已经包含了某些动画效果,如在展开下拉列表时图片的渐变显示。这些效果...
这段代码在文档加载完成后,对ID为`imageDropdown`的`<select>`应用了`imageDropdown`方法,从而实现了图标的显示和下拉框的自定义样式。 这个插件还支持分组功能,通过`<optgroup>`标签可以创建选项组,这在处理多...