`

select下拉框显示图片

 
阅读更多
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++){

分享到:
评论

相关推荐

    select下拉列表显示图片内容

    但随着现代Web技术的发展,我们可以通过一些技巧来实现`select`下拉框中显示图片和文本的复合内容。以下是一些关键知识点,用于在`select`下拉列表中显示图片内容: 1. **CSS模拟**: 一个常见方法是使用CSS来模拟...

    纯Css更改Select下拉框样式

    纯Css更改Select下拉框样式,显示框的样式更改,下拉列表的样式更改!纯干货,肯定是你需要的 纯Css更改Select下拉框样式,显示框的样式更改,下拉列表的样式更改!纯干货,肯定是你需要的 纯Css更改Select下拉框...

    js实现下拉框选择要显示图片的方法

    在实际开发中,我们可能会遇到一种需求,即通过下拉框选择来控制图片的显示。本文将详细介绍如何使用JavaScript来实现这一功能。 首先,我们需要知道HTML中`&lt;img&gt;`标签的`src`属性用于指定图片的URL路径。而`...

    仿select下拉框

    仿select下拉框的主要特点包括: 1. **美化样式**:通过CSS样式可以完全控制下拉框的外观,包括边框、背景色、字体、颜色等,使其与网站的整体设计风格保持一致,提升视觉效果。 2. **增强交互**:添加动画效果,...

    DIV模拟select下拉框

    "DIV模拟select下拉框"就是一种利用JavaScript库,如jQuery,来实现这一目标的技术。它通过用CSS样式化的DIV元素替换原生的SELECT元素,从而提供更灵活的外观和交互体验。 标题中的"DIV模拟select下拉框"意味着我们...

    jQuery Select下拉框美化代码.zip

    《jQuery Select下拉框美化代码详解》 在网页设计中,下拉选择框(Select)是一种常见的用户交互元素,但其默认样式往往显得单调且不友好。为了提升用户体验,jQuery库提供了一系列方法和插件来美化这个元素。本文...

    js控制select选中显示不同表单内容select下拉菜单特效

    js控制select选中显示不同表单内容select下拉菜单特效 js控制select选中显示不同表单内容select下拉菜单特效 js控制select选中显示不同表单内容select下拉菜单特效

    select图片下拉框

    这就涉及到了“select图片下拉框”的实现方法。 传统的HTML `&lt;select&gt;` 元素仅允许文本内容,但通过一些技巧和JavaScript库,我们可以创建带有图片的下拉框。以下是一些常用的技术和策略: 1. **使用CSS和HTML结构...

    jQuery Select下拉框美化插件.zip

    jQuery Select下拉框美化插件是专为解决这个问题而设计的,它能够将原本样式单一的Select元素转化为具有现代感、美观且交互友好的组件。这款插件基于jQuery库,结合CSS和JavaScript技术,可以轻松地与HTML5兼容,...

    jQuery下拉框图片选择特效imageselect.js示例

    本示例“jQuery下拉框图片选择特效imageselect.js”是利用jQuery的强大力量来提升用户界面的美观性和交互性。在这个项目中,我们将会探讨如何使用这个插件来实现一个具有图片选择功能的下拉菜单,从而让传统的...

    jQuery Select下拉框菜单选择插件.zip

    《jQuery Select下拉框菜单选择插件》 在网页开发中,下拉框(Select)是一种常见的表单元素,用于用户在预设的选项中进行选择。然而,原生的HTML下拉框样式单一,功能有限,无法满足复杂的交互需求。这时,jQuery...

    下拉框带模糊查询引入select2组件.zip

    在压缩包的文件名列表中,我们看到"demo.txt"可能是包含示例代码或者使用说明的文本文件,"select2"可能是Select2库的文件夹,里面包含了各种JavaScript和CSS文件,以及可能的图片资源。"需要引入的文件"则可能是指...

    实用select下拉框美化jquery插件.zip

    本压缩包“实用select下拉框美化jquery插件.zip”就是一个针对此需求的解决方案,它包含了一系列的文件,用于实现美观、功能丰富的下拉框效果。 首先,`index.html`是项目的主入口文件,它包含了HTML结构,其中可能...

    js select美化下拉框美化

    因此,"js select美化下拉框美化" 成为了一个重要的开发话题。这个主题主要涉及到JavaScript、CSS以及可能的库或框架的应用,以提升下拉框的视觉效果和用户体验。 JavaScript 是实现下拉框美化的关键工具,它可以...

    select option带自定义图片

    以下是一个关于如何在`&lt;select&gt;`和`&lt;option&gt;`中添加自定义图片的详细教程。 首先,我们需要理解HTML基础。`&lt;select&gt;`元素创建一个可选列表,用户可以选择其中的一个或多个选项。`&lt;option&gt;`元素定义了下拉列表中的一...

    jQuery美化Select下拉框

    在网页设计中,Select下拉框是常见的交互元素,用于用户在多个选项中进行选择。然而,原生的Select下拉框样式往往较为单一,不符合现代网页设计的美观要求。"jQuery美化Select下拉框"就是为了解决这个问题,它通过...

    HTML5、Select下拉框右边加图标的实现代码(增进用户体验)

    本篇文章将详细介绍如何在Select下拉框右边添加图标,以增强用户界面的吸引力。 首先,让我们来看看实现这个效果的基本HTML结构。在示例中,我们有四个选择器(`&lt;select&gt;`),每个选择器后面都跟着一个图片元素(`...

    jQuery实现下拉框选择图片功能实例

    `这行代码将`&lt;select&gt;`元素的名称为"logo"的下拉框设置为显示图片,并设置了下拉列表的宽度为425像素。 6. **动画效果**:在插件内部,可能已经包含了某些动画效果,如在展开下拉列表时图片的渐变显示。这些效果...

    自定义带图标的select,只需把图标地址写在option的title属性中即可

    这段代码在文档加载完成后,对ID为`imageDropdown`的`&lt;select&gt;`应用了`imageDropdown`方法,从而实现了图标的显示和下拉框的自定义样式。 这个插件还支持分组功能,通过`&lt;optgroup&gt;`标签可以创建选项组,这在处理多...

Global site tag (gtag.js) - Google Analytics