`
wdlisoft
  • 浏览: 48960 次
  • 性别: Icon_minigender_1
  • 来自: 常州
最近访客 更多访客>>
社区版块
存档分类
最新评论

js实现图片下拉列表

阅读更多

因为现在开发的一个网站有用到,所以在网上找了一个做了一些简单的修改...

 

  <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=62; //列表框中图片的高度;
var imgSrc="head/数字序号.gif"; //供选图片的路径。
//"数字序号"四字将在程序中替换为0,1,2...,不要手工更改为数字 ;
var selectedNo=7; //默认选定的图片序号;
var selecteSize=3; //下拉列表框中显示的图片数;

/* 以下把图片和层输出在"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.gif\"></td></tr></table>";  
myHTML+="<DIV id=\"imgBox\" ";  
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);  
}  

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>

分享到:
评论
2 楼 yi_17328214 2009-12-21  
 :idea:
1 楼 yi_17328214 2009-12-21  
<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=62; //列表框中图片的高度;
var imgSrc="head/数字序号.gif"; //供选图片的路径。
//"数字序号"四字将在程序中替换为0,1,2...,不要手工更改为数字 ;
var selectedNo=7; //默认选定的图片序号;
var selecteSize=3; //下拉列表框中显示的图片数;
/* 以下把图片和层输出在"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.gif\"></td></tr></table>";  
myHTML+="<DIV id=\"imgBox\" ";  
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);  
}  

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>

相关推荐

    下拉列表显示图片

    为了在下拉列表中显示图片,我们需要借助JavaScript库或者CSS技巧来实现。在这个场景中,提到的"msdropdown"可能是一个JavaScript库,它提供了自定义下拉列表的功能,包括添加图片。 msdropdown是一个流行的选择器...

    select下拉列表显示图片内容

    "select下拉列表显示图片内容"就是这样一个特例,它通过一些技术手段实现了在下拉选项中嵌入图片。 要实现这个效果,通常有以下几种方法: 1. **CSS和JavaScript**: 使用CSS来定制`&lt;option&gt;`元素的样式,并通过...

    下拉列表,放大缩小图片

    本文将深入探讨这两个知识点,并结合"监听距离"这一概念,来阐述如何实现下拉列表根据距离动态调整图片大小的功能。 首先,我们来看"下拉列表"。下拉列表(Dropdown List)是一种用户界面组件,它允许用户从一组预...

    图片选择显示下拉列表(经典用例)

    这个经典用例就是通过HTML和JavaScript实现的一个简单而实用的功能,让用户通过下拉列表选择不同的选项,然后页面上的图片会随之改变。接下来,我们将详细探讨这个功能的工作原理以及如何实现。 首先,HTML是网页的...

    用js+php+ajax做的仿下拉列表的代码

    这个项目是基于JavaScript(JS)、PHP和AJAX技术实现的一个二级下拉列表功能,它能够模拟常见的下拉选择框,并提供了交互式的用户体验。下面将详细解释这个项目中的关键知识点。 1. **JavaScript(JS)**: JS是前端...

    JS城市配送下拉列表美化表单.zip

    总的来说,"JS城市配送下拉列表美化表单"是电商网站提高用户体验的一个重要组件,它利用JavaScript和CSS等技术优化了传统的配送地址选择流程,使用户在填写配送信息时更加顺畅,从而提升了网站的整体专业性和用户...

    jQuery实现输入框下拉列表树插件代码.zip

    最后,`js`目录下的文件是插件的核心部分,其中的JavaScript代码实现了输入框与下拉列表树的交互逻辑。jQuery库提供了丰富的DOM操作和事件处理方法,使得实现这样的功能变得简单。主要步骤可能包括: 1. 监听输入框...

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

    预加载可以通过创建一个隐藏的`&lt;img&gt;`标签,在页面加载时就开始下载图片,或者使用JavaScript的`Image()`对象来实现。这样当用户第一次选择图片时,大部分图片实际上已经下载完成,可以立即显示。 最后,出于对可...

    jquery实现输入框点击出现下拉列表树插件代码

    `dtreeck.js`是自定义的JavaScript插件文件,实现了点击输入框后显示下拉列表树的逻辑。这个插件可能包含了以下关键部分: 1. 监听输入框的`focus`事件,当输入框获得焦点时,加载或生成树形结构。 2. 使用jQuery的...

    jquery+css3实现的图片式自定义下拉列表框效果.zip

    "jquery+css3实现的图片式自定义下拉列表框效果.zip" 提供了一种创新的方法,通过结合jQuery JavaScript库和CSS3技术来提升传统下拉列表的视觉吸引力和功能性。本文将深入探讨这个主题,解析如何利用jQuery和CSS3...

    下拉列表选择背景图片.rar_magnetqet_下拉列表选择背景图片

    这个特效的核心在于JavaScript与CSS的结合应用,通过下拉列表(Dropdown List)的选择,实现背景图片的实时切换。 首先,我们需要创建一个HTML结构,包括一个下拉列表(`&lt;select&gt;`标签)和一个按钮(`&lt;button&gt;`标签...

    select下拉列表显示图片内容.zip

    2. **js** - 这个目录很可能包含了JavaScript代码,用于实现下拉列表中图片的动态加载和交互功能。可能包含了一个或多个.js文件,这些文件通过事件监听、DOM操作等技术,实现了在用户操作下拉列表时,图片的显示和...

    M商城V1.8(JS实现产品类别下拉列表联动)

    在IT行业中,我们经常需要处理各种用户界面交互,其中一种常见的设计是下拉列表的联动效果。这在电商网站上尤为常见,例如"M商城V1.8"中的产品类别下拉列表联动。这个功能允许用户在选择一个产品类别后,另一个下拉...

    JS+CSS和图片美化select下拉列表选择框

    综上所述,通过结合JavaScript和CSS,我们可以对`select`下拉列表选择框进行深度美化,包括调整基本样式、添加自定义图片,甚至实现复杂的交互效果。在`select美化选择框.htm`这个示例文件中,我们可以看到一个完整...

    html中嵌套js下拉列表框

    ### HTML中嵌套JS实现下拉列表功能 在本文中,我们将探讨如何使用HTML与JavaScript结合来创建一个具有动态下拉列表功能的网页。通过分析提供的代码示例,我们可以了解到如何利用JavaScript控制HTML元素的显示与隐藏...

    jQuery带搜索过滤功能的下拉列表框

    可能包含初始化下拉列表、绑定事件处理器、实现搜索过滤、分组、多选等功能的函数。 总结起来,"jQuery带搜索过滤功能的下拉列表框"是一个综合运用了HTML、CSS和JavaScript技术的实例,它展示了如何通过jQuery来...

    下拉列表选择框

    总结来说,这个项目提供了一个兼容多数浏览器(但未测试IE6和IE7)的下拉列表选择框插件,利用jQuery的便利性实现了丰富的交互功能,并通过CSS和HTML确保了良好的视觉体验。开发人员可以通过定制`dropdownTable.js`...

    JS+CSS实现美化的下拉列表框效果

    总结来说,JS+CSS实现的美化的下拉列表框效果,通过CSS定义了丰富的样式和状态变化,利用JavaScript增加了动态交互功能。这种技术可以提高用户界面的吸引力和可用性,是现代Web开发中的常见实践。对于前端开发者来说...

Global site tag (gtag.js) - Google Analytics