Skip to content

Commit 3a58d46

Browse files
authored
v.1.0.2
1 parent 1b77467 commit 3a58d46

File tree

2 files changed

+40
-17
lines changed

2 files changed

+40
-17
lines changed

js/jquery.verySimpleImageViewer.js

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
/**
33
* jquery.verySimpleImageViewer.js
4-
* Ver. : 1.0.1
5-
* last update: 04/08/2018
4+
* Ver. : 1.0.2
5+
* last update: 05/08/2018
66
* Author: meshesha , https://github.com/meshesha
77
* LICENSE: MIT
88
* url:https://meshesha.github.io/verySimpleImageViewer
@@ -17,6 +17,7 @@
1717
maxZoom: '300%',
1818
zoomFactor: '10%',
1919
saveZoomPos: true,
20+
setZoomPos: [],
2021
mouse: true,
2122
keyboard: true,
2223
toolbar: true,
@@ -28,6 +29,7 @@
2829
var maxZoom = settings.maxZoom;
2930
var zoomFactor = settings.zoomFactor;
3031
var saveZoomPos = settings.saveZoomPos;
32+
var setZoomPos = settings.setZoomPos;
3133
var isMouse = settings.mouse;
3234
var isKeyboard = settings.keyboard;
3335
var isToolbar = settings.toolbar;
@@ -133,11 +135,7 @@
133135

134136
//Set dimension and position
135137
if(!self.maxZoomCheck(dimension[0],dimension[1])) {
136-
zoomLevel = newZoomLevel;
137-
self.setDimension(dimension[0],dimension[1]);
138-
self.setPosition(position[0],position[1]);
139-
self.setMouseCursor();
140-
138+
self.setZoomPosition(newZoomLevel,dimension[0],dimension[1],position[0],position[1]);
141139
//save zoomLevel, dimension, position
142140
if(saveZoomPos){
143141
if (typeof(Storage) !== "undefined") {
@@ -153,6 +151,20 @@
153151
}
154152
return true;
155153
}
154+
self.setZoomPosition = function(zoomLvl,dX,dY,pX ,pY){
155+
zoomLevel = parseInt(zoomLvl);
156+
self.setDimension(dX,dY);
157+
self.setPosition(pX,pY);
158+
self.setMouseCursor();
159+
}
160+
self.getZoomInf = function(){
161+
var dim_array = self.getDimension();
162+
var pos_array = self.getPosition();
163+
console.log("[zoomLevel, dimensionX, dimensionY, positionX, positionY]=");
164+
console.log("[",zoomLevel,",",dim_array[0],",",dim_array[1],",",pos_array[0],",",pos_array[1],"]");
165+
//console.log($("#"+divId + " .image_pos_info").length)
166+
//$("#"+divId).append('<div class="image_pos_info">חדששש</div>');
167+
}
156168
self.centerImage = function(width,height, x,y) { //width and height of image and (x,y) is the (left,top) of the image
157169
if(typeof width=='undefined' || typeof height=='undefined') {
158170
var temp = self.getDimension();
@@ -280,9 +292,8 @@
280292
keyCode = event.which, event.preventDefault();
281293
}
282294
keyCode = String.fromCharCode(keyCode);
283-
284295
var position = self.getPosition();
285-
var LEFT='a',UP='w',RIGHT='d',DOWN='s', CENTER_IMAGE='c', ZOOMIN='=', ZOOMOUT='-'; ///Keys a,w,d,s
296+
var LEFT='a',UP='w',RIGHT='d',DOWN='s', CENTER_IMAGE='c', ZOOMIN='=', ZOOMOUT='-' , ZOOM_INFO='i'; ///Keys a,w,d,s
286297
if(keyCode == LEFT){
287298
position[0]+=speed;
288299
}else if(keyCode == UP){
@@ -297,6 +308,8 @@
297308
self.zoomTo(zoomLevel+1, self.frameElement.clientWidth/2, self.frameElement.clientHeight/2);
298309
}else if( (keyCode == ZOOMOUT || keyCode == 'z' || keyCode == 'Z') && zoomLevel > 0){
299310
self.zoomTo(zoomLevel-1, self.frameElement.clientWidth/2, self.frameElement.clientHeight/2);
311+
}else if(keyCode==ZOOM_INFO || keyCode == 'I'){
312+
self.getZoomInf();
300313
}
301314
if(keyCode == LEFT || keyCode == UP || keyCode == RIGHT || keyCode == DOWN) {
302315
position = self.centerImage(image.width,image.height, position[0],position[1]);
@@ -363,7 +376,7 @@
363376
if(isToolbar){
364377
self.loadToolbar(self);
365378
}
366-
//set here saved zoomFactor
379+
//set here saved zoom dimension and position
367380
if(saveZoomPos){
368381
if (typeof(Storage) !== "undefined") {
369382
var zoomlvl = localStorage.getItem(divId+"_zoomlvl");
@@ -373,13 +386,23 @@
373386
var positiony = localStorage.getItem(divId+"_positiony");
374387
//console.log(zoomlvl,dimensionx,dimensiony,positionx,positiony)
375388
if(zoomlvl !== null){
376-
zoomLevel = parseInt(zoomlvl);
377-
self.setDimension(dimensionx, dimensiony);
378-
self.setPosition(positionx, positiony);
379-
self.setMouseCursor();
389+
self.setZoomPosition(zoomlvl,dimensionx, dimensiony,positionx, positiony);
380390
}
381391
}
382392
}
393+
394+
//set manual zoom dimension and position
395+
if(setZoomPos.length == 5){
396+
var zLvl = setZoomPos[0];
397+
var dimX = setZoomPos[1];
398+
var dimY = setZoomPos[2];
399+
var posX = setZoomPos[3];
400+
var posY = setZoomPos[4];
401+
self.setZoomPosition(zLvl,dimX, dimY,posX, posY);
402+
}else if(setZoomPos.length > 0 && setZoomPos.length < 5){
403+
console.log("Error: 'setZoomPos' setting array must contain 5 numbers: [zoomLevel, dimensionX, dimensionY, positionX, positionY].'\n" +
404+
"click 'i' key after zooming the image to see this information in the console.")
405+
}
383406
}
384407

385408
//Create self.frameElement - One time initialization

0 commit comments

Comments
 (0)