(function($) { /** * scrollContent 滚动文章内容 * kangkai &hong * 2017-10-23 15:38:14 */ $.fn.scrollContent = function(options) { var settings = { speed: 1, delay: 3, imgDelay:5, callback: function() { //console.log('scroll finished'); } }; $.extend(settings, options); var $this = $(this); var $container = $this.find('.content_container'); var $content = $this.find('.content'); var containerHeight = $container.height(); var contentHeight = $content.height(); //debugger; if($container.find('.content').hasClass('imgContent')){ setTimeout(settings.callback, $this.find('.img').length*settings.imgDelay*1000); }else{ if (containerHeight >= contentHeight) { settings.callback(); return; } } var heightToScroll = contentHeight - containerHeight; // console.log(contentHeight, containerHeight) var duration = heightToScroll * settings.speed; if($container.find('.content').hasClass('imgContent')){ //setTimeout(settings.callback, settings.delay * 1000); //$container.find('.imgContent').css('position','static'); }else{ $content.delay(settings.delay * 1000) .animate({ top: -heightToScroll + 'px' }, duration, 'linear', settings.callback); } // 滚动至文章顶部 $.fn.scrollContent.backToTop = function() { $content.css('top', 0); } }; /* * 滚动图片 (及图片标题) * kangkai & lihong * 2017-10-24 15:27:31*/ $.fn.scrollImgs = function(options) { var settings = { speed: 1, delay: 2 }; $.extend(settings, options); var $this = $(this); var $imgContent = $this.find('.imgContent'); var $bigImg = $this.find('.bigImg'); var $imgs = $this.find('.imgs'); var $imgsContainer = $this.find('.imgs_container'); var imgsCount = $this.find('.img').length; var imgWidth = $imgsContainer.width(); $imgs.find('.img').eq(0).css('opacity',1); $imgs.find('.img').eq(0).siblings().css('opacity',0); //alert($imgContent.length) var currentImg = 0; $imgContent.text($imgs.find('.img_caption').eq(currentImg).text()); //$imgs.width(imgsCount * 100 + '%'); $imgs.width('100%'); //$imgs.css('opacity', 0); if (imgsCount <= 0) { return; } if (!$this.currentImgIndex) { $this.currentImgIndex = 0; } if (!$this.scrollImgsTimer) { $this.scrollImgsTimer = setInterval(showNextImg, settings.delay * 1000); } function showNextImg() { $imgs.find('.img').css('opacity', 0); if (++currentImg > imgsCount - 1) { currentImg = 0; } /*$imgs.animate({ left: -imgWidth * currentImg + 'px' }, settings.speed * 0, function() { // console.log('img switched'); });*/ $imgs.find('.img').eq(currentImg).css('opacity',1); $imgs.find('.img').css('transition','all 1s'); $imgContent.text($imgs.find('.img_caption').eq(currentImg).text()); } // 停止滚动 $.fn.scrollImgs.stopScroll = function() { clearInterval($this.scrollImgsTimer); } }; })(jQuery);