JS冒泡排序(div)
更生动的排序动画。
通过改变div的高度来实现排序,通过闭包来实现for循环的睡眠时间。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
button
{
width:70px;
height:30px;
background:#005AA8;
color:white;
font-size:15px;
font-family:Microsoft YaHei;
border:0;
outline:0;
border-radius:5px;
cursor:pointer;
opacity:.8;
} button:hover
{
opacity:1;
} #box
{
width:300px;
height:400px;
outline:1px solid black;
margin-top:10px;
} #box div
{
width:3px;
height:200px;
margin-left:1px;
background:blue;
display:inline-block; } #boxboxbox
{
width:0;
height:100%;
display:inline-block;
margin-left:0px;
} </style>
</head>
<body> <button onclick="fnnn()">排序</button> <div id="box">
<span id="boxboxbox"></span>
</div> <script> // div 以及 div 的宽高
var box = document.getElementById("box");
var boxW = box.offsetWidth;
var boxH = box.offsetHeight; var len = boxW/4; for(var i = 0;i<len;i++){
var crtDiv = document.createElement("div");
var divH = parseInt(Math.random()*boxH);
crtDiv.style.height = divH + "px";
crtDiv.index = i;
box.insertBefore(crtDiv,document.getElementById("boxboxbox"));
} function fnnn(){
setInterval(fn,300);
} function fn(){
var childDiv = box.children; for(var j = 0,leng = childDiv.length-1;j<leng;j++){ for(var n = 0,nleng = childDiv.length-1;n<nleng-j;n++){ (function fun(n){
setTimeout(function(){
if(parseInt(childDiv[n].style.height) > parseInt(childDiv[n+1].style.height)){ var oneH = parseInt(childDiv[n].style.height); childDiv[n].style.height = parseInt(childDiv[n+1].style.height) + "px"; childDiv[n+1].style.height = oneH + "px"; } },n*100);
})(n); }
}
}
</script>
</body>
</html>
JS冒泡排序(div)的更多相关文章
- js控制div滚动条,滚动滚动条使div中的元素可见并居中
1.html代码如下 <div id="panel"> <div id="div1"></div> <div id=& ...
- js实现div居中
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- js 控制Div循环显示 非插件版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS控制DIV隐藏显示
转载自:http://blog.sina.com.cn/s/blog_6c3a67be0100ldbe.html JS控制DIV隐藏显示 一,需求描述: 现在有3个DIV块,3个超链接,需要点击一个链 ...
- 功能整合(一):滚动条的变相隐藏、js控制div的渐变显示、滚动条监听
1.滚动条的变相隐藏 思路: 1. 把body的横向,纵向的超出部分隐藏,宽设置100%:高设置100%.就没有body的滚动条了, 2. 然后把最外层的div的宽设置的比body的宽宽一点,把d ...
- JS 实现DIV 滚动至顶部后固定
JS 实现DIV 滚动至顶部后固定 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" ...
- JS控制div跳转到指定的位置的几种解决方案总结
原文:http://www.jb51.net/article/96574.htm 这篇文章主要介绍了JS控制div跳转到指定的位置的几种解决方案总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考 ...
- js控制div样式显示与隐藏,JS通过点击超链接右边(指定位置)显示一个图标
原文出自:https://blog.csdn.net/seesun2012 javascript基础篇,老土的方法解决js控制div样式,便于新手理解,粗暴的不能再粗暴,如果你是高手,请忽略! 思路: ...
- JS获取div高度的方法
有时在写页面时,需要获取一个div的高度.怎么才能获取呢?哈哈,先上结论.有两种方法. offsetHeight .clientHeight getComputedStyle offsetHeight ...
- js获取div基础元素
1.js获取div元素 clientHeight 获取对象的高度,不计算任何边距.边框.滚动条,但包括该对象的补白. clientLeft 获取 offsetLeft 属性和客户区域的实际左边之间的距 ...
随机推荐
- D3.js学习(三)
上一节中,我们已经画出了图表,并且给图表添加了坐标轴的标签和标题,在这一节中,我们将要学习几个绘制线条不同特性的几个函数,以及给图表添加格栅.ok,进入话题! 如何给线条设置绘制的样式? 这个其实非常 ...
- java开发人员,最应该学习和熟练使用的工具类。google guava.(谷歌 瓜娃)
学习参考文章: http://blog.csdn.net/wisgood/article/details/13297535 http://ifeve.com/google-guava/ http:// ...
- ajax待总结项
1.get与post请求的区别 get请求调用send方法发送数据时,会忽略传入的数据 2.post请求的三种方式区别 1.form表单 2.ajax 3.ajax + FormData 表格绘制,代 ...
- Mosquitto pub/sub服务实现代码浅析-主体框架
Mosquitto 是一个IBM 开源pub/sub订阅发布协议 MQTT 的一个单机版实现(目前也只有单机版),MQTT主打轻便,比较适用于移动设备等上面,花费流量少,解析代价低.相对于XMPP等来 ...
- Ninject学习(一) - Dependency Injection By Hand
大体上是把官网上的翻译下而已. http://www.ninject.90iogjkdcrorg/wiki.html Dependency Injection By Hand So what's Ni ...
- Java字节流和字符流区别
1.字节流:直接操作文件本身. 2.字符流:通过缓冲区来操作文件. 所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存中才会形成,所以在开发中,字节 ...
- Debian 8.3 中文字体安装
有了这个字体,对于日常工作和生活而言已经非常足够了.如果你还需要更多中文字体的话,推荐可以安装“文泉驿正黑”,“文泉驿点阵宋体”等.文泉驿的安装包已经进入了 Debian/Ubuntu,直接安装 tt ...
- Angular2 组件通信
1. 组件通信 我们知道Angular2应用程序实际上是有很多父子组价组成的组件树,因此,了解组件之间如何通信,特别是父子组件之间,对编写Angular2应用程序具有十分重要的意义,通常来讲,组件之间 ...
- express细节点注意
删除 cookie 需要这么 res.cookie('admin_uid',"null",{maxAge:0, httpOnly:true, path:'/',domain:'.o ...
- JSP复习整理(五)JavaBean使用表单处理数据
一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...