基于JS实现一个简单的投票demo

目录
  • 演示
  • 说明
  • 源码
    • body设置
    • js实现投票的动画
    • css设定

演示

说明

今天没有什么好的内容分享,跟大家讲一个标签吧增长姿势。

line-height CSS 属性用于设置多行元素的空间量,如多行文本的间距。

根据浏览器的解析不同,line-height的表现方式有两种

1.基线之间的距离为line-height

2.lineHeight 为,font-size的上下加上半行距

它的取值为:

1·normal: 默认。设置合理的行间距。取决于用户端。桌面浏览器(包括Firefox)使用默认值,约为1.2,这取决于元素的

2·font-family。 number: 设置数字,此数字会与当前的字体尺寸相乘来设置行间距,即number为当前font-size的倍数。

3·length :设置固定的行间距。

4· % :基于当前字体尺寸的百分比行间距。

5· inherit: 规定应该从父元素继承 line-height属性的值。

源码

body设置

<h2>投票公布</h2>
	<div id="div1">
		<div class="a_1">50%</div>
		<div class="a_2">50%</div>
	</div>
	<!-- 红队投票 -->
	<div id="div2">
		<div >
			<img src="img/1.jpg" height="100%" width="100%" />
		</div>
		<div class="diaphane" id="result_1">
			<p>红队投票数:0</p>
		</div>
		<input type="button" name="aa" value="投红队" />
	</div>
	<!-- 蓝队投票 -->
	<div id="div3">
		<div>
			<img src="img/2.jpg" height="100%" width="100%" />
		</div>
		<div class="diaphane" id="result_2">

			<p>蓝队投票数:0</p>
		</div>
		<input type="button" name="aa" value="投蓝队" />
	</div>

js实现投票的动画

window.onload = function () {
	//获取div1及下面的div
	var oDiv = document.getElementById('div1');
	var aDiv = oDiv.getElementsByTagName('div');
	//获取点击按钮
	var aBtn = document.getElementsByTagName('input');
	//初始化百分比数字
	var lNum = 50;
	var rNum = 50;
	//计算进度条宽度
	var lNums = (rNum / (lNum + rNum)) * 520;
	var rNums = 520 - lNums;
	//设置进度条width宽度
	aDiv[1].style.width = parseInt(lNums) + 'px';
	aDiv[0].style.width = 520 - parseInt(lNums) + 'px';
	//设置进度条百分比数字
	aDiv[0].innerHTML = sub((lNum / (lNum + rNum)) * 100 + "") + "%";
	aDiv[1].innerHTML = sub((1 - lNum / (lNum + rNum)) * 100 + "") + "%";
	//初始化投票数
	var leftNum = 0;
	var rightNum = 0;
	//绑定红队投票按钮点击事件
	aBtn[0].onclick = function () {
		//每次点击累加投票数
		lNum = lNum + (++leftNum);
		//计算div对应长度
		var lNumss = parseInt(leftNum / (leftNum + rightNum) * 520);
		//设置进度条width宽度
		aDiv[0].style.width = lNumss + 'px';
		aDiv[1].style.width = (520 - lNumss) + 'px';
		//计算div百分比数字
		aDiv[0].innerHTML = sub((leftNum / (leftNum + rightNum)) * 100 + "") + "%";
		aDiv[1].innerHTML = sub((1 - leftNum / (leftNum + rightNum)) * 100 + "") + "%";
		//设置投票数
		document.getElementById("result_1").innerHTML = "红队投票数:" + leftNum;
	}
	//绑定蓝队投票按钮点击事件
	aBtn[1].onclick = function () {
		//每次点击累加投票数
		rNum = rNum + (++rightNum);
		//计算div对应长度
		var rNumss = parseInt(rightNum / (leftNum + rightNum) * 520);
		//设置进度条width宽度
		aDiv[0].style.width = (520 - rNumss) + 'px';
		aDiv[1].style.width = rNumss + 'px';
		//计算div百分比数字
		aDiv[0].innerHTML = sub((leftNum / (leftNum + rightNum)) * 100 + "") + "%";
		aDiv[1].innerHTML = sub((1 - leftNum / (leftNum + rightNum)) * 100 + "") + "%";
		//设置投票数
		document.getElementById("result_2").innerText = "蓝队投票数:" + rightNum;
	}
	//保留小数点后两位
	function sub(str) {
		var index = str.lastIndexOf(".");
		if (index == -1) {
			return str;
		}
		return str.substring(0, index + 3);
	}
}

css设定

* {
	margin: 0;
	padding: 0;
	list-style-type:none;
}
a,img{border:0;}

.vote{
	width:530px;
	margin:100px auto;
}

.vote h2{
	height:24px;
	line-height:24px;
	font-size:18px;
	font-weight:400;
	margin-bottom:20px;
	text-align:center;
}

#div1 {
	width: 520px;
	height: 30px;
	position: relative;
}

#div2 {
	margin:30px 20px 0 0;
	width: 250px;
	height: 325px;
	float: left;
	display:inline;
	position: relative;
}

#div3 {
	margin-top: 30px;
	margin-left: 2px;
	width: 250px;
	height: 325px;
	float: left;
}

.a_1,
.a_2 {
	position: absolute;
	top: 0;
	color:#fff;
	text-align:center;
	height:30px;
	line-height:30px;
}

.a_1 {
	left: 0;
	background:#3366cc;
}

.a_2 {
	right: 0;
	background:#ff6600;
}

.vote input {
	padding-top: 20px;
	width: 250px;
	position: absolute;
	color: #fff;
	border-radius: 1rem;
	text-decoration: none;
	padding: 1rem 2rem;
	margin-bottom: 1rem;
	min-width: 10rem;
	text-align: center;
	background-color: #6a4;
	border:0;
	cursor:pointer;
}

.diaphane {
	color: #000;
	margin:10px 0;
	text-align:center;
}

到此这篇关于基于JS实现一个简单的投票demo的文章就介绍到这了,更多相关JS投票内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用js写的一个简易的投票

    大家直接自己看吧,请多多指教,这个是几个月前写的,现在全部整理一下. 复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8" > <title></title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/j

  • 原生JS实现在线问卷调查投票特效

    效果图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS+CSS实现投票效果</title> <link rel="stylesheet" href="http://hovertree.com/texiao/js/24/style.css"

  • js脚本编写简单刷票投票系统

    本文实例为大家分享了js刷票投票系统的具体代码,供大家参考,具体内容如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta h

  • 基于js实现投票的实例代码

    本文实例讲述了JavaScript实现三种投票方式的实现方法,分享给大家供大家参考.具体如下: 一.js柱状投票图 效果图: 实现代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

  • 基于JS实现一个简单的投票demo

    目录 演示 说明 源码 body设置 js实现投票的动画 css设定 演示 说明 今天没有什么好的内容分享,跟大家讲一个标签吧增长姿势. line-height CSS 属性用于设置多行元素的空间量,如多行文本的间距. 根据浏览器的解析不同,line-height的表现方式有两种 1.基线之间的距离为line-height 2.lineHeight 为,font-size的上下加上半行距 它的取值为: 1·normal: 默认.设置合理的行间距.取决于用户端.桌面浏览器(包括Firefox)使用

  • 基于JS制作一个简单的网页版地图

    目录 前言 一.申请地图的AK密钥 二.主要代码分析 三.全部代码 四.结果展示 前言 以前做了一个安卓版的地图应用,现在突然想做一个简单的网页版地图.这个简单的网页版地图能根据城市名进行位置查询(有个城市列表的小控件,支持城市列表选择),还能根据经纬度进行位置查询.当你进行城市搜索时,或者经纬度查询城市时,该小控件也能自由地切换到目标城市. 一.申请地图的AK密钥 1.首先找到一个地图开放平台,这里以百度地图开放平台为例,步骤如下:进入百度地图开放平台,拉到最底下,进行登录注册,然后进入应用管

  • 原生js基于canvas实现一个简单的前端截图工具代码实例

    这篇文章主要介绍了原生js基于canvas实现一个简单的前端截图工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先看效果 代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{

  • 基于springboot实现一个简单的aop实例

    简介 AOP(Aspect-Oriented Programming:面向切面编程) aop能将一些繁琐.重复.无关业务的逻辑封装起来,在一个地方进行统一处理,常用于日志记录.事务管理.权限控制等,aop能在不改变原有代码逻辑的基础上对某个方法.某类方法.或者整个类进行无侵入式的加强,有效降低了代码耦合度,并且提高了项目扩展性: ok废话说完,进入正题,如何实现一个aop 要实现aop,首先你要知道你拿aop来干啥,我们今天就以记录日志来说,因为这个最常用,一般对于重要的数据库操作,我们需要记录

  • 基于PHP实现一个简单的在线聊天功能

    目录 前端页面 数据库 实现思路 1.showPage() 2.newChat() 3.getChatText() 4.getChatTemp() 5.pushChat() 总结 要实现功能,首先要做前端,经过对比其他网站的在线聊天功能,发现除了基本的聊天功能以外,还要注意以下几点. 一次只能和一个人聊天,但是可以随意切换其他人. 如果用户是从"发送消息" 入口进来的,那么当前马上就切换到对应的聊天窗口,而且如果之前有过聊天记录,应该把聊天记录也展示出来. 如果是从"我的消息

  • 基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <script> (function () { var tian = document.getElementsByClassName('JS-tian')[0]; var shi = document.getElementsByClassName('JS-shi')[0]; var fen = document.getElementsByClassName('JS-fen')[0]; var miao = document.getEleme

  • 基于JSP实现一个简单计算器的方法

    本文实例讲述了基于JSP实现一个简单计算器的方法.分享给大家供大家参考.具体实现方法如下: index.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  <%  String path = request.getContextPath();  String basePath = request.getSch

  • 详解用Node.js写一个简单的命令行工具

    本文介绍了用Node.js写一个简单的命令行工具,分享给大家,具体如下: 操作系统需要为Linux 1. 目标 在命令行输入自己写的命令,完成目标任务 命令行要求全局有效 命令行要求可以删除 命令行作用,生成一个文件,显示当前的日期 2. 代码部分 新建一个文件,命名为sherryFile 文件sherryFile的内容 介绍: 生成一个文件,文件内容为当前日期和创建者 #! /usr/bin/env node console.log('command start'); const fs = r

  • js实现一个简单的MVVM框架示例

    以前都是默默地看园子里的文章,猥琐的点赞,今天也分享一下自己用js实现的一个简单mvvm框架. 最初只做了自动绑定事件,后面又参考学习了vue,knouckout以及argular实现方式,以及结合自己做WPF的一些经验,增加了属性绑定,今天又稍微整理了下,完善了部分功能,把代码提交到了码云:https://gitee.com/zlj_fy/Simple-MVVM 先简单介绍下用法: <form class="form-horizontal" role="form&qu

  • 基于JS实现一个随机生成验证码功能

    效果展示 实现原理 1. html:一般就是一个div: <div id="code"></div> ,样式根据需求设计. 2. JS:1)将所有的验证码所用的字符放在一个字符串中 2)在这个字符串的字符个数以内,随机生成索引号 3)根据索引号查找对应字符,拼接成验证码的字符串 代码实现 HTML: <div id="code"></div> CSS: * { margin: 0; padding: 0; } div

随机推荐