-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbase.js
67 lines (55 loc) · 1.85 KB
/
base.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
tileSources = tileSources.map(function(tileSource, i) {
return {
tileSource: tileSource,
opacity: i === 0 ? 1 : 0,
preload: i === 1 ? true : false
};
});
var viewer = OpenSeadragon({
id: 'seadragon-viewer',
prefixUrl: 'http://cdn.jsdelivr.net/npm/openseadragon@2.3/build/openseadragon/images/',
tileSources: tileSources,
maxZoomPixelRatio: 128,
imageSmoothingEnabled: true,
showNavigator: true,
maxImageCacheCount: 4096
});
var index = 0;
var oldIndex = 0;
document.getElementById("image_number").innerHTML = "Image " + (index+1).toString() + "/" + tileSources.length.toString();
document.onkeydown = checkKey;
viewer.innerTracker.keyDownHandler = null;
viewer.innerTracker.keyPressHandler = null;
function changeImage(oldIndex, index){
var oldTiledImage = viewer.world.getItemAt(oldIndex);
// index = (index + 1) % tileSources.length;
var nextIndex = (index + 1) % tileSources.length;
var newTiledImage = viewer.world.getItemAt(index);
var nextTiledImage = viewer.world.getItemAt(nextIndex);
oldTiledImage.setOpacity(0);
newTiledImage.setOpacity(1);
nextTiledImage.setPreload(true);
document.getElementById("image_number").innerHTML = "Image " + (index+1).toString() + "/" + tileSources.length.toString();
}
function prevImage() {
oldIndex = index;
index = index - 1;
if (index < 0) {
index= tileSources.length - 1;
}
changeImage(oldIndex, index);
}
function nextImage() {
oldIndex = index;
index = (index + 1) % tileSources.length;
changeImage(oldIndex, index);
}
function checkKey(e) {
e = e || window.event;
if (e.keyCode == '37') {
prevImage();
}
else if (e.keyCode == '39') {
nextImage();
}
}