/** * ABook Viewer for WEB * ZoomDetector Library * Copyright (C) Agentec Co, Ltd. All rights reserved. */ //グローバルの名前空間用のオブジェクトを用意する var ZOOM_DETECTOR = {}; ZOOM_DETECTOR.zoom_ratioPre = 1; ZOOM_DETECTOR.zoom_ratio = 1; ZOOM_DETECTOR.zoom_timer; ZOOM_DETECTOR.zoom_continue = false; ZOOM_DETECTOR.zoom_callbackFunction; ZOOM_DETECTOR.zoom_miliSeconds = 1000; // Default is 1 second ZOOM_DETECTOR.zoom_oldW = -1; ZOOM_DETECTOR.zoom_oldH = -1; ZOOM_DETECTOR.calculateZoomLevel = function() { ZOOM_DETECTOR.zoom_ratioPre = ClientData.zoom_ratioPre(); if (ZOOM_DETECTOR.zoom_timer) { clearTimeout(ZOOM_DETECTOR.zoom_timer); ZOOM_DETECTOR.zoom_timer = null; } ZOOM_DETECTOR.zoom_ratio = document.documentElement.clientWidth / window.innerWidth; if (ZOOM_DETECTOR.zoom_ratioPre != ZOOM_DETECTOR.zoom_ratio) { if (ZOOM_DETECTOR.zoom_oldW == -1) { ZOOM_DETECTOR.zoom_oldW = document.documentElement.clientWidth; } if (ZOOM_DETECTOR.zoom_oldH == -1) { ZOOM_DETECTOR.zoom_oldH = document.documentElement.clientWidth; } if (ZOOM_DETECTOR.zoom_callbackFunction) { ZOOM_DETECTOR.zoom_callbackFunction(ZOOM_DETECTOR.zoom_ratioPre, ZOOM_DETECTOR.zoom_ratio, ZOOM_DETECTOR.zoom_oldW, ZOOM_DETECTOR.zoom_oldH, window.innerWidth, window.innerHeight); } ZOOM_DETECTOR.zoom_ratioPre = ZOOM_DETECTOR.zoom_ratio; ClientData.zoom_ratioPre(ZOOM_DETECTOR.zoom_ratioPre); ZOOM_DETECTOR.zoom_oldW = window.innerWidth; ZOOM_DETECTOR.zoom_oldH = window.innerHeight; } if (ZOOM_DETECTOR.zoom_continue == true) { ZOOM_DETECTOR.zoom_timer = setTimeout("ZOOM_DETECTOR.calculateZoomLevel();", ZOOM_DETECTOR.zoom_miliSeconds); } }; ZOOM_DETECTOR.stopDetectZoom = function() { ZOOM_DETECTOR.zoom_continue = false; }; ZOOM_DETECTOR.startDetectZoom = function(params) { ZOOM_DETECTOR.zoom_continue = true; if (params.callbackFunction) { ZOOM_DETECTOR.zoom_callbackFunction = params.callbackFunction; } if (params.time) { ZOOM_DETECTOR.zoom_miliSeconds = params.time; } ZOOM_DETECTOR.zoom_timer = setTimeout("ZOOM_DETECTOR.calculateZoomLevel();", ZOOM_DETECTOR.zoom_miliSeconds); };