html5左侧弹出菜单怎样实现

html-css014

html5左侧弹出菜单怎样实现,第1张

这个可以通过绝对定位,配合left设置 或者translate去实现

left的方法:

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 left设置为0就可以了 ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

translate

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 transform:translate3d(-300px,0,0) ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

这个过程中 需要注意 body需要overflow:hidden(不然会有滚动条,可设置overflow-x即可)

left 和 translate 最好用translate ,translate3d可以开启GPU硬件加速,性能会更好,体验会更流畅

我github有类似小组件样式

github: IFmiss

希望能解决你的问题

1)、普通下拉列表菜单

html代码如下:

<form action="" method="get"> 

<label>1、普通下拉列表菜单</label> 

<select name=""> 

<option value="0">DIVCSS5</option> 

<option value="1">DIVCSS5</option> 

</select> 

</form> 

2)、跳转下拉列表菜单(如常见点击后跳转到选择网站)

常常一些网站做友情链接,与部门之间使用select下拉标签实现网址跳转。下面我们通过代码与案例接受select跳转菜单应用。

跳转菜单html代码如下:

<form action="" method="get"> 

<label>2、跳转的下拉列表菜单</label> 

<select name="jumpMenu" id="jumpMenu"

 onchange="MM_jumpMenu('parent',this,0)"> 

<option value="http://www.Rothur.com/">Rothur</option> 

<option value="http://www.Rothur.com/">Rothur</option> 

</select> 

</form> 

实现跳转还需要在head标签内加入Js脚本动作代码:

<script type="text/javascript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'") if (restore) selObj.selectedIndex=0 } //--> </script>

给你一个JQ的三级联动:

<!doctype html>

<html>

<head>

<title></title>

<meta charset = "utf-8"/>

</head>

<style>

</style>

<body>

<select id="one">

<option value="">请选择省份</option>

</select>

<select id="two">

<option value="">请选择城市</option>

</select>

<select id="three">

<option value="">请选择区域</option>

</select>

<script type="text/javascript" src="js/jquery-1.12.0.js"></script>

<script type="text/javascript">

/*

1.搭建框架

2.给省份和城市绑定change事件

*/

$(function(){

var province = [

{"name" : "广东省" ,

"city" : [

{

"name" : "广州市" ,

"area" : ["越秀区","荔湾区","海珠区","天河区,白云区"]

},

{

"name" : "深圳市" ,

"area" : ["福田区","罗湖区","南山区","宝安区","龙岗区"]

}

]

},

{"name" : "浙江省" ,

"city" : [

{

"name" : "杭州市" ,

"area" : ["上城区","下城区","江干区","西湖区"]

},

{

"name" : "丽水" ,

"area" : ["莲都区","松阳县","遂昌县","云和县"]

}

]

},

{"name" : "江西省" ,

"city" : [

{

"name" : "南昌市" ,

"area" : ["东湖区","西湖区","青云谱区","湾里区"]

},

{

"name" : "九江市" ,

"area" : ["浔阳区","庐山区","瑞昌市","九江县"]

},

{

"name" : "赣州市" ,

"area" : ["章贡区","南康区","上犹县","赣县"]

}

]

},

]

// 二级联动

$("#two").change(function(){

var one_index = $("#one option:selected").index()

var two_index = $("#two option:selected").index()

var three = $("#three")

three.empty().append("<option>请选择区域</option>")

if(two_index > 0){

var area = province[one_index-1].city[two_index-1].area

for(var i = 0  i < area.length  i++){

three.append("<option>"+area[i]+"</option>")

}

}

})

// 一级联动

$("#one").change(function(){

var one_index = $("#one option:selected").index()

var two = $("#two")

console.log(one_index)

two.empty().append("<option>请选择城市</option>")

$("#three").empty().append("<option>请选择区域</option>")//清除

if(one_index > 0){

var city = province[one_index-1].city

console.log(province[one_index-1].city)

for(var i = 0  i < city.length  i++){

two.append("<option>"+city[i].name+"</option>")

}

}

})

init()

function init(){

for(var i = 0  i < province.length  i++){

$("#one").append("<option>"+province[i].name+"</option>")

}

}

})

</script>

</body>

</html>