# 这是html代码
<div class="sele" onMouseOver="funcseton(this,1)" onMouseOut="funcseton(this,0)" onClick="funcsel(this)" style="z-index:101;">
<input readonly value="产品列表">
<span class="arrow"></span>
<ul style="display:none; z-index:101">
<li>化妆品</li>
<li>奢侈品</li>
<li>热销品</li>
<li>其他</li>
</ul>
</div>
# 这是js代码,用的jquery
$(function funcinitsel(e){
var objul=e.getElementByTagName("ul")[0];
document.onclick=function(){
if(e.getAttribute("state")=="0"){
objul.style.display="none"
}
var objtxt=e.getElementByTagName("input")[0];
var arrli=objul.getElementByTagName("li");
for(var i=0;i<arrli.length; i++){
arrli[li].onmouseover=function(){
this.className="on"
}
arrli[li].onmouseout=function(){
this.className="";
}
arrli[li].onclick=function(){
objtxt.value=this.innerHTML;
e.setAttribute("state",0);
objul.style.display="none"
}
}
}
}
,function funcsel(e){
var objul=e.getElementByTagName("ul")[0];
if(objul.style.display=="none"&&e.getAttribute("state")=="1"){
objul.style.display=""
}
if(e.offsetWidth>objul.offsetWidth){
objul.style.width=e.offsetWidth+"px"
}
$(objul).parent().parent().siblings().find("ul").hide()
}
,function funcseton(e,v){
if(e.getAttribute("state")==""){
funcinitsel(e);
}
e.setAttribute("state",v)
})
下拉框的实现是先不了
$(function funcinitsel(e){//看到开头,已醉,楼下来解释吧,实现看不懂语法。
$(function funcinitsel(e){
你这个什么代码。。语法都错了,而且事件直接写dom里面了,你申明的函数需要在window作用域下才行
去掉$(function 这个东东,函数里面的,其他错误自己f12打开浏览器开发工具看
//var objul = e.getElementByTagName("ul")[0];
//=======>
var objul = e.getElementsByTagName("ul")[0];