http://www.zlong.org/js-practice/imgswap.html
<!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">
<head>
<style type="text/css">
*{font-family:Arial, Helvetica, sans-serif}
.div1{
background-color:#35BDDB;
float:left;
margin-left:1px;
color:#fff;
vertical-align:middle;
font-size:12px;
}
.sorted{
background-color:#CFD0D2}
#content{ width:100%; height:601px; background-color:#222222; text-align:center; }
</style>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
var numbs = [];
var numbers = 40;
var divWidth = Math.floor(1000/numbers);
var ti = 1;
var step = 0;
var step1 = 0;
function init(){
step1 = 0;
numbers = $("#numb").val();
if(isNaN(numbers) || Number(numbers) <= 0){
numbers = 40;
$("#numb").val(40);
}
if(Number(numbers) > 500){
numbers = 500;
$("#numb").val(500);
}
numbs = [];
step = 0;
ti = 1;
$("#content").html("");
while(numbs.length < numbers){
var t = Math.floor(600*Math.random());
if(numbs.indexOf(t) < 0){
numbs.push(t);
}
}
$("#step").html("");
$.each(numbs, function(i,n){
$("<div>").addClass("div1").css({width: (100/numbers - 0.1)+"%", height: n + "px", "margin-top": (600-n) + "px"})
.attr("id", n).appendTo($("#content"));
});
}
$(function(){
init();
$("#random").click(init);
$("#bubbleSort").click(function(){
$(":input").attr("disabled","disabled");
if(step1 != 0){
init();
}
bubbleSort();
});
$("#QuickSort").click(function(){
$(":input").attr("disabled","disabled");
if(step1 != 0){
init();
}
QuickSort(numbs, 0, numbs.length);
});
});
function bubbleSort(){
for(i = 0; i< numbs.length;i++){
for(j = i + 1;j<numbs.length;j++){
if(numbs[i] > numbs[j]){
swap(numbs, i, j);
}
}
}
}
function swap(arrays, i, j){
var t = arrays[i];
var m = arrays[j];
arrays[i] = arrays[j];
arrays[j] = t;
step1++;
setTimeout("swapDiv($('#' + "+t+"), $('#' + "+m+"))", (ti++)*50);
}
function swapDiv(div1, div2){
$(".div1").removeClass("sorted");
var tempDiv = $("<div>");
div1.after(tempDiv);
div2.after(div1);
tempDiv.after(div2);
tempDiv.remove();
div1.addClass("sorted");
div2.addClass("sorted");
$("#step").html(++step);
if(step == step1){
$(":input").attr("disabled","");
$(".div1").removeClass("sorted");
}
}
function QuickSort(pData, left, right){
var i,j;
var middle,temp;
i = left;
j = right;
middle = pData[left];
while(true){
while((++i)<right-1 && pData[i]<middle);
while((--j)>left && pData[j]>middle);
if(i>=j)
break;
swap(pData, i, j);
}
swap(pData, left, j);
if(left<j)
QuickSort(pData,left,j);
if(right>i)
QuickSort(pData,i,right);
}
</script>
</head>
<body>
<div id="num"></div>
<button id="bubbleSort">bubbleSort</button>
<button id="QuickSort">QuickSort</button>
<input id="numb" value="40"/>
<button id="random">init</button>
step:<span id="step"></span>
<div id="content"></div>
</body>
</html>
分享到:
相关推荐
使用 JavaScript 排序数据并渲染到页面+源码+demo演示 使用 JavaScript 排序数据并渲染到页面+源码+demo演示 使用 JavaScript 排序数据并渲染到页面+源码+demo演示 使用 JavaScript 排序数据并渲染到页面+源码+...
在这个"拖动排序demo"中,我们可以探究如何实现这样的功能,特别是在编程领域,如前端开发中的JavaScript、HTML和CSS,或者是移动端的Android或iOS开发。 在前端开发中,实现拖动排序通常涉及以下关键步骤: 1. **...
总的来说,"dragsort图片拖动排序demo"是一个实用的教学示例,有助于前端开发者学习如何利用`dragsort.js`创建交互式的图片排序功能。这个功能可以广泛应用于相册应用、画廊展示或者任何需要用户自定义顺序的场景。...
在本"JS拖拽DEMO大全"中,我们将会探讨一系列关于JavaScript实现拖放功能的核心知识点。 首先,我们需要了解HTML5的拖放API(Drag and Drop API),这是现代浏览器支持的原生拖放功能。通过这个API,开发者可以方便...
下面将详细介绍如何实现"js json 重新随机重组排序方法"。 首先,我们需要了解JSON的基本结构。JSON对象通常包含键值对,而键值对中的值可能是一个字符串、数字、布尔值、数组或其他JSON对象。当我们要对JSON中的...
综上所述,"jQuery插件集之(table排序)各种排序+Demo"是一个强大且实用的工具,它不仅包含了基本的排序功能,还能适应各种数据类型和用户需求。通过深入理解其工作原理和使用方式,开发者可以轻松地提升HTML表格的...
在"使用Sortable进行拖动排序的demo"中,我们了解了如何利用Sortable库创建一个可拖动排序的列表,并在排序完成后获取新的顺序。这个功能在许多Web应用中都有广泛的应用,如任务管理、图片库、文件管理等。通过掌握...
本文将围绕"jquery.tablesorter.js +排序、分页、ajax demo"这一主题,深入探讨tablesorter插件的核心功能和实际运用。 首先,tablesorter是一个强大的jQuery插件,由Christian Bach开发,主要用于表格的排序功能。...
在 demo 中,你可以看到如何通过 JavaScript 代码配置这些选项。 5. **CSS 样式** "css" 文件夹包含 jqGrid 的样式文件,它们控制着表格的外观,如单元格样式、表头样式、分页样式等。开发者可以根据需求修改 CSS ...
通过阅读和理解这些代码,你可以深入学习二叉树排序算法,并将其应用到实际的JavaScript项目中。 总结来说,二叉树排序算法是一种高效且灵活的排序方法,特别适合在数据量较大且需要频繁插入和查找的场景下使用。...
"jsDemo.rar" 文件很可能是包含了一个使用 Element UI 开发的 JavaScript 示例项目的压缩包。这个项目可能包含了 HTML、CSS 和 JavaScript 文件,展示了如何在实际开发中应用 Element UI。 在 Element UI 中,你...
JavaScript_基于排序描述符对数组进行排序的_Demo_BlobSortDemo
在本示例中,我们关注的是“bootstrap树形表格js插件demo”。这个插件允许我们在Bootstrap表格中展示层次结构的数据,这对于显示具有父子关系或者分类信息的数据非常有用。 首先,`treeTable.html`是演示如何使用该...
在压缩包中的"瀑布流Demo"可能包含了HTML、CSS和JavaScript文件,你可以通过查看和学习这些文件了解瀑布流布局的具体实现细节。这个小例子可能包含了一些基础的计算和布局逻辑,适合初学者理解和实践瀑布流布局的...
1. 原生JavaScript排序: JavaScript提供了`Array.prototype.sort()`方法,可以直接对数组进行排序。例如,对一个包含对象的数组按某个属性排序: ```javascript let data = [ {name: '张三', age: 25}, {name...
7. **数据结构与排序**:商品列表可能需要根据不同的分类进行排序,这涉及到JavaScript中的数组操作,如`sort()`函数。 8. **错误处理**:在请求数据或处理用户输入时,良好的错误处理机制是必要的,这通常涉及try-...
用js实现对表格的排序,小demo一个,希望对新手们有点帮助
总之,"ie可用的astar算法javascript demo"是一个在JavaScript中实现的A*搜索算法,它考虑了在Internet Explorer浏览器下的兼容性,能够有效地寻找两点之间的最短路径。这个实现涉及到了数据结构、启发式函数设计...
总之,"tree-multiselect.js-demo"项目展示了一种强大的、适用于权限管理的动态权限树实现,其核心在于JavaScript的递归和数据绑定技术,以及对用户体验和性能的考虑。通过深入理解和实践这个示例,开发者可以提升在...
【JS在线工具箱demo】是一个基于JavaScript技术实现的网页应用,旨在提供一种便捷的在线工具箱,用户可以像在客户端应用程序中那样拖动元素并绘制流程图。这个工具箱的特色在于其交互性和灵活性,使得用户能够在网页...