vue js select下拉框
<template>
<ul id="select">
<li>
<div class="select-head">
<span class="select-head-cont">{{cont}}</span>
<span class="select-icon">▼</span>
</div>
<ul class="option">
<li class="option-item" v-for="v in 10" @click="optionClick(v-1)">{{v-1}}</li>
</ul>
</li>
</ul>
</template>
<style type="text/css"> ul,li{
list-style: none;
padding: 0;
margin: 0;
}
/*下拉框样式*/
#select{
margin-right: .05rem;
background: rgba(0,0,0,0);
width: .5rem;
height: .28rem;
font-family: "微软雅黑";
font-size: 16px;
color: white;
border: 1px #DDDDDD solid;
border-radius: 3px;
}
.select-head{
overflow: hidden;
width: 100%;
height: .28rem;
box-sizing: border-box;
padding: 0 5px;
line-height: .28rem;
}
.select-head .select-head-cont{
float: left;
color: black;
}
.select-head .select-icon{
float: right;
color: #B2B2B2;
}
.option{
text-indent: 10px;
margin-top: 1px;
width: 100%;
color: black;
background: rgba(236,111,111,0.1);
line-height: .28rem;
border: 1px #cfcfcf solid;
visibility: hidden;
}
.option-item:hover{
background: rgba(204,106,67,0.3);
}
</style>
<script>
export default {
data () {
return {
cont:'-',
}
},
methods: {
optionClick(v){
this.cont='*'
this.$emit('input', v)
document.getElementsByClassName('option')[0].style.visibility = 'hidden';
}
},
mounted(){
let selectHead = document.getElementsByClassName('select-head')[0];
let Option = document.getElementsByClassName('option')[0];
let optionItem = document.getElementsByClassName('option-item');
let itemH=optionItem[0].offsetHeight
let Y =document.body.clientHeight-selectHead.getBoundingClientRect().bottom; if(Y<itemH*10){
Option.style.webkitTransform="translate(0px,-"+(itemH*11+5)+"px)"
}
// console.log(Y,itemH*11,Option.offsetHeight)
/*点击后出现下拉框*/
selectHead.addEventListener('click',()=>{
Option.style.visibility = 'visible';
},false); /*点击其他地方时,select会收起来*/
document.body.addEventListener('click',()=>{
Option.style.visibility = 'hidden';
},true);
},
}
</script>
效果:

vue js select下拉框的更多相关文章
- js select下拉框下拉跳转代码
下拉跳转原理很简单这个用到了select的onchangeg事件,只要这里改变我们就获取select值直接location.href=this.value即可. <select name=&qu ...
- css配合js模拟的select下拉框
css配合js模拟的select下拉框 <!doctype html> <html> <head> <meta charset="utf-8&quo ...
- JS为Select下拉框添加输入功能
JavaScript使用parentNode.nextSibling.value实现的本功能,实际上你会发现网页上有两个控件元素,一个是Select,一个是input,使用CSS将input覆盖于se ...
- JS模拟下拉框select
最近做的一个项目有下拉框 同事都是用的是美化控件,但是用美化控件当然是好 但是网上找的一个控件不知道扩展性怎么样?对以后的维护会不会造成有影响?比如我想增加一个功能或者减少一个功能会不会影响?还有就是 ...
- vue select下拉框绑定默认值
vue select下拉框绑定默认值: 首先option要加value值,以便v-model可以获取到对应选择的值 一.当没有绑定v-model,直接给对应的option加selected属性 二.当 ...
- js&jquery 获取select下拉框的值、文本内容、自定义属性
js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...
- 非常实用的select下拉框-Select2.js
在Web开发中,Select下拉框是常用的输入组件.由于原生的Select几乎很难通过CSS样式控制.一些好看的Select下拉框就只能通过模拟来实现.PHP程序员雷雪松给大家推荐一筐款不错的Sele ...
- js如何获取select下拉框的value以及文本内容
select下拉框在项目开发中是经常用到的,特别是在联级菜单方面的应用更为广泛.但是,对于一些初学者来说,如何获取下拉框子节点option的value值和文本内容,还是有一点难度的.其他的就不说了,现 ...
- 在element-ui的select下拉框加上滚动加载
在项目中,我们需要运用到很多来自后端返回的数据.有时是上百条,有时甚至上千条.如果加上后端的多表查询或者数据量过大,这就导致在前端的显示就会及其慢,特别是在网络不好的时候更是如此. 自然,后端就做了一 ...
随机推荐
- meta标签常见浏览器设置
一.如何让双核浏览器默认选择 WebKit 内核渲染自己开发的网页 我们可以使用标签来指定适合自己网站的渲染内核名称,当双核浏览器访问本网页时,就会根据我们的指示,选择我们指定的渲染内核来处理网页.若 ...
- 关于el-select 单选与多选切换的时候报错的解决办法
错误: 出错原因: 估计是单选切换到多选的时候元素没有刷新的原因,猜测 解决办法: 1.在el-select上面加上一个条件判断, 条件判断中绑定一个变量值 例如 :multiple="is ...
- FPGA上外挂DDR2&DDR3&MIG IP的使用记录
前言 当需要大容量数据存储及处理的时候,FPGA内部自带的存储资源是远远不够的,所以问题来了,怎么使用外带的DDR3? 首要问题在于DDR3是什么?有没有协议?当然只是需要用Xilinx MIG IP ...
- Delphi 安装apk
procedure ToInstallApk(filename: string); var aFile: Jfile; Intent: JIntent; begin Try aFile := TJfi ...
- DRDA
在谈到分布式DB2数据时,有必要谈谈DRDA. DRDA代表分布式关系数据库体系结构. 它是由IBM开发的一种体系结构,它使关系数据能够在多个平台之间分布. 平台和平台都可以相互通信. 例如,一个DB ...
- python自动生成Docx(docxtpl库)
python这个库很有用,可以格式化生成报告等. 其他内容请点此处,下面只写docxtpl的功能代码. # coding: utf-8 import web # 我们用的webpy框架 import ...
- RHEL7启动到命令模式
打开/etc/inittab 文件会看到以下信息 从中知道想要启动后就进入完整的多用户文本模式(命令行模式) 以root权限执行: ln -sf /lib/systemd/system/multi-u ...
- CrawlSpider ---> 通用爬虫 项目流程
通用爬虫 通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果. 不扯 ...
- Juit
Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半. ...
- Paper Reading:ION
Inside-Outside Net (ION) 论文:Inside-Outside Net: Detecting Objects in Context with Skip Pooling and R ...