更生动的排序动画。

通过改变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)的更多相关文章

  1. js控制div滚动条,滚动滚动条使div中的元素可见并居中

    1.html代码如下 <div id="panel"> <div id="div1"></div> <div id=& ...

  2. js实现div居中

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. js 控制Div循环显示 非插件版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. JS控制DIV隐藏显示

    转载自:http://blog.sina.com.cn/s/blog_6c3a67be0100ldbe.html JS控制DIV隐藏显示 一,需求描述: 现在有3个DIV块,3个超链接,需要点击一个链 ...

  5. 功能整合(一):滚动条的变相隐藏、js控制div的渐变显示、滚动条监听

    1.滚动条的变相隐藏 思路: 1.  把body的横向,纵向的超出部分隐藏,宽设置100%:高设置100%.就没有body的滚动条了, 2.  然后把最外层的div的宽设置的比body的宽宽一点,把d ...

  6. JS 实现DIV 滚动至顶部后固定

    JS 实现DIV 滚动至顶部后固定 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" ...

  7. JS控制div跳转到指定的位置的几种解决方案总结

    原文:http://www.jb51.net/article/96574.htm 这篇文章主要介绍了JS控制div跳转到指定的位置的几种解决方案总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考 ...

  8. js控制div样式显示与隐藏,JS通过点击超链接右边(指定位置)显示一个图标

    原文出自:https://blog.csdn.net/seesun2012 javascript基础篇,老土的方法解决js控制div样式,便于新手理解,粗暴的不能再粗暴,如果你是高手,请忽略! 思路: ...

  9. JS获取div高度的方法

    有时在写页面时,需要获取一个div的高度.怎么才能获取呢?哈哈,先上结论.有两种方法. offsetHeight .clientHeight getComputedStyle offsetHeight ...

  10. js获取div基础元素

    1.js获取div元素 clientHeight 获取对象的高度,不计算任何边距.边框.滚动条,但包括该对象的补白. clientLeft 获取 offsetLeft 属性和客户区域的实际左边之间的距 ...

随机推荐

  1. 【转载】--仅用 []()+! 就足以实现几乎任意Javascript代码

    最近在做CTF的题目,遇见了一个都是[]()+!这样的文件,于是百度了一下,发现这个博客对这个有解释. G Reader里Dexter同学的分享,来自sla.ckers.org的又一神作 点我测试 G ...

  2. 国内github访问慢的解决方法

    本文是windows处理方法,macos方法也差不多. 一般Github的访问有两部分:主站的访问和二级域名的资源加载(比如样式文件等) 一般Github加载缓慢,主要是 assets-cdn.git ...

  3. CSS 常用基本功能整理

    1.文字访问特权 点击前.点击时.点击后.下划线.跳转. <!DOCTYPE html> <html> <head> <meta charset=" ...

  4. Sicily 1051: 魔板(BFS+排重)

    相对1150题来说,这道题的N可能超过10,所以需要进行排重,即相同状态的魔板不要重复压倒队列里,这里我用map储存操作过的状态,也可以用康托编码来储存状态,这样时间缩短为0.03秒.关于康托展开可以 ...

  5. ngSanitize和$sce

    (angular-ngSanitize模块-$sanitize服务详解) 本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块. 要学习这个服务,先要了解另一 ...

  6. 大端字节序&小端字节序(网络字节序&主机字节序)

    大端字节序:整数的高位字节存储在内存的低地址处,低字节存储在内存的高地址处. 小端字节序:整数的高位字节存储在内存的高地址处,低字节存储在内存的低地址处. 一般pc大多采用小端字节序,也称为主机字节序 ...

  7. MDI窗体容器--2016年12月15日

    MDI窗体容器 多文档界面(Multiple-Document Interface)简称MDI窗体.MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中.MDI窗体中通常有包含子菜单的窗口菜单, ...

  8. CentOS 7 Git安装

    Git安装 yum -y install git 安装后,在srv目录下建立Git的目录. 初始化一个git空仓库 git init --bare project.git 增加用于访问git仓库的用户 ...

  9. Socket网络编程一

    1.Socket参数介绍 A network socket is an endpoint of a connection across a computer network. Today, most ...

  10. 爬虫 htmlUnit遇到Cannot locate declared field class org.apache.http.impl.client.HttpClientBuilder.dnsResolve错误

    当在使用htmlUnit时遇到无法定位org.apache.http.impl.client.HttpClientBuilder.dnsResolver类时,此时所需要的依赖包为: <depen ...