/* * Copyright 2018-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * WebSite: http://bootstrap-viewer.leftso.com */ $.fn.bootstrapViewer = function (options) { $(this).on('click', function () { var opts = $.extend({}, $.fn.bootstrapViewer.defaults, options); var viewer = $(''); $('body').append(viewer); if ($(this).attr(opts.src)) { $("#bootstrapViewer").find(".img-viewer").attr("src", $(this).attr(opts.src)); $("#bootstrapViewer").modal(); } else { throw "图片不存在" } $('#bootstrapViewer').on('hidden.bs.modal', function(){ $('#bootstrapViewer').remove(); }); var $moveDiv = $('#bootstrapViewer .modal-dialog'); var isMove = false; var div_x = $moveDiv.offset().left; var div_y = $moveDiv.offset().top; var mousedownFunc = function (e) { if (isMove) { var left = e.pageX - div_x; var top = e.pageY - div_y; if(left < 0){ left = 0} if(top < 0){ top = 0} $moveDiv.css({"left": left, "top":top}); } } $moveDiv.mousedown(function (e) { $moveDiv.css({ left: $moveDiv[0].offsetLeft, top: $moveDiv[0].offsetTop, marginTop: 0, position: 'absolute' }); isMove = true; div_x = e.pageX - $moveDiv.offset().left; div_y = e.pageY - $moveDiv.offset().top; $(document).mousemove(mousedownFunc); }).mouseup(function () { isMove = false; $(document).unbind('mousemove', mousedownFunc); }); }) $(this).on('mouseover', function () { $(this).css('cursor', 'zoom-in'); }) } $.fn.bootstrapViewer.defaults = { src: 'src' }