当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 图片下拉选择器的制作

Javascript
javascript 函数介绍
超酷的鼠标拖拽翻页(分页)效果实现javascript代码
关于Javascript中的事件--Event对象
js+css图片自动等比例缩小且垂直居中
输入法下keyup失效的解决方案
关于初次学习Ajax的一些心得
可以不被浏览器拦截的弹出窗口JS代码
网页设计常用的Javascript特效代码
XMLHTTPRequest的属性和方法
微软、Mozilla舌战新版JavaScript发展
网页制作中常用的几段小Javascript代码
Ajax是建立Web应用的一条新途径
AJAX学习:理解JavaScript函数
javascript下的正则表达式基本书写
学习 javascript 注意的4个问题
javascript正则表达式的常用方法总结
初学者全面接触学习jquery(译文)
用Ajax和Web2.0扩展SOA
使用 jQuery 简化 Ajax 开发
关于clientHeight、offsetHeight、scrollHeight

Javascript 中的 图片下拉选择器的制作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 246 ::
收藏到网摘: n/a

    相信大家都见过一些软件里的图片下拉选择控件吧?喏,OICQ中就有。但网页上的你见过没有?小阳今天就为你推出你心怡已久的这个控件,下面演示中就是了!效果还可以吧?心动不如行动,我们来看下是怎么弄出来的。
  演示:(点击这里在新窗口中打开演示页)





  我们先来看下做出这个控件需要解决哪些问题。

  第一,图片下拉列表框是一个层,它在选择提示框点击时出现,出现后在选择图片或窗体点击时再隐藏。

  它出现时位置要在选择提示框的正下方;隐藏实际上可以把它的位置定在屏幕之外(style.pixelLeft=-800)。

  第二,图片下拉列表框的位置。选择提示框不是层,图片下拉列表框出现的位置要在选择提示框的正下方,就必须读取选择提示框在窗体中的绝对位置,不能受选择提示框的位置和屏幕分辨率的影响。

  我们可以用“Object.offsetLeft”和“Object.offsetTop”获取对象(Object)在其父容器(offsetParent)中的相对位置。于是我们可以用while()循环向高一级父容器一层一层读取相对位置,它们的代数和就是该Object在最上层容器(窗体)中的绝对位置了。

  第三,图片下拉列表框的滚动,要保证自动滚动到相应的图片出现在列表框的顶端:当手动滚动停止时,如果滚动条趋势是向下滚动,则自动继续向下滚动直至最近的图片在列表框的顶端,反之亦然。

  例子中我们将所有供选图片命名为“0.gif”、“1.gif”……“9.gif”,并放在“head”目录下。下面我们以实际程序解决这些问题:

  

  程序最后“使窗体点击时selectme(obj)函数被激活”部分可以用document.body.onclick=new Function("selectme(null)")简单替换之。但为了不和其它程序的窗体点击事件冲突,我们用了这段代码。详见拙作《完美解决一个事件激活多个函数》。你也可以将"myhead" 的type值设为"hide",这里为了演示,就将它显示了出来。

  好了,这个控件“图片下拉选择器”已经做好了,把它应用到留言本、论坛等动态交互的网页上,真是最好不过了!