var windowW = $(window).width(); if(windowW > 770){ ;(function ($, document, window) { $.pictureViewer = function (options) { var pictureViewer_html = '
' + '
' + '' + '
' + '
' + '' + '
' + '
' + '
' + ' of ' + '
' + '
' + '
'; //init param var $images = options.images, $initImageIndex = options.initImageIndex, $scrollSwitch = options.scrollSwitch; if (!$images || !$images.length) return; if (!$initImageIndex) $initImageIndex = 1; var $nowImageIndex = $initImageIndex; //init dom if (!$('#pictureViewer').length) $('body').append(pictureViewer_html); //definition variable var BODY = $('body'); var ESC_KEY_CODE = 27; var LEFT_KEY_CODE = 37; var RIGHT_KEY_CODE = 39; var $pictureViewer = $('#pictureViewer'); var $pictureViewerContent = $pictureViewer.children('.content'); var $cover = $pictureViewer.find('.picture-content .cover'); var $closeBtn = $pictureViewer.find('.close-view'); var $maximizationBtn = $pictureViewer.find('.maximization'); var $miniaturizationBtn = $pictureViewer.find('.miniaturization'); var $prevBtn = $pictureViewer.find('.handel-prev'); var $nextBtn = $pictureViewer.find('.handel-next'); var $num = $pictureViewer.find('.counter .num'); var $total = $pictureViewer.find('.counter .total'); var defaultViewWidth = $pictureViewerContent.css('width'); var defaultViewHeight = $pictureViewerContent.css('height'); var $imagesTotal = $images.length; //view is show var viewIsShow = function viewIsShow() { return $pictureViewer.is(':visible'); }; //lock body var lockBody = function lockBody() { return BODY.css('overflow', 'hidden'); }; //unlock body var unlockBody = function unlockBody() { return BODY.css('overflow', 'auto'); }; //show view var showView = function showView() { $pictureViewer.show(); lockBody(); }; //hide view var hideView = function hideView() { $pictureViewer.hide(); $maximizationBtn.show(); $miniaturizationBtn.hide(); $pictureViewerContent.css({ 'width': defaultViewWidth, 'height': defaultViewHeight }); unlockBody(); }; //change image var changeImage = function changeImage(index) { $cover.attr('src', $images[index]); $nowImageIndex = index; changeImageNum(); }; //change image num var changeImageNum = function changeImageNum() { $num.text($nowImageIndex + 1); }; //to prev image var toPrevImage = function toPrevImage() { return changeImage($nowImageIndex === 0 ? $imagesTotal - 1 : $nowImageIndex - 1); }; //to next image var toNextImage = function toNextImage() { return changeImage($nowImageIndex === $imagesTotal - 1 ? 0 : $nowImageIndex + 1); }; //init state showView(); changeImage($initImageIndex - 1); $total.text($imagesTotal); //handle close click $closeBtn.on('click', hideView); //handel maximization click $maximizationBtn.on('click', function () { $(this).hide(); $miniaturizationBtn.show(); $pictureViewerContent.css({ 'width': '100%', 'height': '100%' }); }); //handel miniaturization click $miniaturizationBtn.on('click', function () { $(this).hide(); $maximizationBtn.show(); $pictureViewerContent.css({ 'width': defaultViewWidth, 'height': defaultViewHeight }); }); //handle document keyDown $(document).on('keydown', function (event) { if (!viewIsShow()) return; var keyCode = event.keyCode; if (keyCode === ESC_KEY_CODE) hideView(); if (keyCode === LEFT_KEY_CODE) toPrevImage(); if (keyCode === RIGHT_KEY_CODE) toNextImage(); }); //handel prev click $prevBtn.on('click', toPrevImage); //handel next click $nextBtn.on('click', toNextImage); if ($scrollSwitch) { try { $pictureViewerContent.mousewheel(function (event, delta) { if (delta === 1) toPrevImage(); if (delta === -1) toNextImage(); }); } catch (e) { throw 'mousewheel plugin No import!'; } } }; })(jQuery, document, window);}