Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tianyazhichiC
algorithm-visualizer
提交
05876b54
A
algorithm-visualizer
项目概览
tianyazhichiC
/
algorithm-visualizer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
algorithm-visualizer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
05876b54
编写于
5月 20, 2016
作者:
J
Jason Park
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
able to zoom array2d&1d
上级
7bf38194
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
58 addition
and
16 deletion
+58
-16
css/stylesheet.css
css/stylesheet.css
+1
-2
js/module/array1d.js
js/module/array1d.js
+0
-1
js/module/array2d.js
js/module/array2d.js
+57
-13
未找到文件。
css/stylesheet.css
浏览文件 @
05876b54
...
...
@@ -136,7 +136,7 @@ section {
bottom
:
50%
;
left
:
0
;
right
:
0
;
overflow
:
scroll
;
overflow
:
hidden
;
}
.tab_container
{
...
...
@@ -245,7 +245,6 @@ pre {
}
.mtbl-cell
{
padding
:
3px
6px
;
display
:
table-cell
;
vertical-align
:
middle
;
text-align
:
center
;
...
...
js/module/array1d.js
浏览文件 @
05876b54
...
...
@@ -12,7 +12,6 @@ Array1DTracer.prototype.createRandomData = function (N, min, max) {
// Override
Array1DTracer
.
prototype
.
setData
=
function
(
D
)
{
this
.
D
=
D
;
return
Array2DTracer
.
prototype
.
setData
.
call
(
this
,
[
D
]);
};
...
...
js/module/array2d.js
浏览文件 @
05876b54
...
...
@@ -3,6 +3,7 @@ var $table = null;
function
Array2DTracer
(
module
)
{
if
(
Tracer
.
call
(
this
,
module
||
Array2DTracer
))
{
initTable
();
initNavigator
(
this
);
return
true
;
}
return
false
;
...
...
@@ -45,12 +46,18 @@ Array2DTracer.prototype.setData = function (D) {
this
.
D
=
D
;
if
(
Tracer
.
prototype
.
setData
.
call
(
this
,
arguments
))
return
true
;
this
.
viewX
=
this
.
viewY
=
0
;
this
.
paddingH
=
6
;
this
.
paddingV
=
3
;
this
.
fontSize
=
16
;
$table
.
empty
();
for
(
var
i
=
0
;
i
<
D
.
length
;
i
++
)
{
var
$row
=
$
(
'
<div class="mtbl-row">
'
);
$table
.
append
(
$row
);
for
(
var
j
=
0
;
j
<
D
[
i
].
length
;
j
++
)
{
var
$cell
=
$
(
'
<div class="mtbl-cell">
'
).
text
(
D
[
i
][
j
]);
var
$cell
=
$
(
'
<div class="mtbl-cell">
'
)
.
css
(
this
.
getCellCss
())
.
text
(
D
[
i
][
j
]);
$row
.
append
(
$cell
);
}
}
...
...
@@ -158,23 +165,22 @@ Array2DTracer.prototype.processStep = function (step, options) {
}
};
Array2DTracer
.
prototype
.
getCellCss
=
function
()
{
return
{
padding
:
this
.
paddingV
+
'
px
'
+
this
.
paddingH
+
'
px
'
,
'
font-size
'
:
this
.
fontSize
};
};
// Override
Array2DTracer
.
prototype
.
refresh
=
function
()
{
Tracer
.
prototype
.
refresh
.
call
(
this
);
var
$parent
=
$table
.
parent
();
var
top
=
$parent
.
height
()
/
2
-
$table
.
height
()
/
2
;
var
left
=
$parent
.
width
()
/
2
-
$table
.
width
()
/
2
;
if
(
top
<
0
)
{
$table
.
css
(
'
margin-top
'
,
0
);
$parent
.
scrollTop
(
-
top
);
}
else
$table
.
css
(
'
margin-top
'
,
top
);
if
(
left
<
0
)
{
$table
.
css
(
'
margin-left
'
,
0
);
$parent
.
scrollLeft
(
-
left
);
}
else
$table
.
css
(
'
margin-left
'
,
left
);
var
top
=
$parent
.
height
()
/
2
-
$table
.
height
()
/
2
+
this
.
viewY
;
var
left
=
$parent
.
width
()
/
2
-
$table
.
width
()
/
2
+
this
.
viewX
;
$table
.
css
(
'
margin-top
'
,
top
);
$table
.
css
(
'
margin-left
'
,
left
);
};
// Override
...
...
@@ -198,6 +204,44 @@ var initTable = function () {
$
(
'
.module_container
'
).
append
(
$table
);
};
var
initNavigator
=
function
(
tracer
)
{
var
x
,
y
,
dragging
=
false
;
var
$parent
=
$table
.
parent
();
$parent
.
mousedown
(
function
(
e
)
{
x
=
e
.
pageX
;
y
=
e
.
pageY
;
dragging
=
true
;
});
$parent
.
mousemove
(
function
(
e
)
{
if
(
dragging
)
{
tracer
.
viewX
+=
e
.
pageX
-
x
;
tracer
.
viewY
+=
e
.
pageY
-
y
;
x
=
e
.
pageX
;
y
=
e
.
pageY
;
tracer
.
refresh
();
}
});
$
(
document
).
mouseup
(
function
(
e
)
{
dragging
=
false
;
});
$parent
.
bind
(
'
DOMMouseScroll mousewheel
'
,
function
(
e
,
delta
)
{
e
=
e
.
originalEvent
;
var
delta
=
(
e
.
wheelDelta
!==
undefined
&&
e
.
wheelDelta
)
||
(
e
.
detail
!==
undefined
&&
-
e
.
detail
);
var
weight
=
1.01
;
var
ratio
=
delta
>
0
?
1
/
weight
:
weight
;
if
(
tracer
.
fontSize
<
8
&&
ratio
<
1
)
return
false
;
if
(
tracer
.
fontSize
>
36
&&
ratio
>
1
)
return
false
;
tracer
.
paddingV
*=
ratio
;
tracer
.
paddingH
*=
ratio
;
tracer
.
fontSize
*=
ratio
;
$
(
'
.mtbl-cell
'
).
css
(
tracer
.
getCellCss
());
tracer
.
refresh
();
e
.
preventDefault
();
});
};
var
paintColor
=
function
(
sx
,
sy
,
ex
,
ey
,
colorClass
,
addClass
)
{
for
(
var
i
=
sx
;
i
<=
ex
;
i
++
)
{
var
$row
=
$table
.
find
(
'
.mtbl-row
'
).
eq
(
i
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录