스크립트 오류 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
스크립트 오류 질문

QA

스크립트 오류 질문

본문

이미지 롤링 스크립트를 사용중인데요 다른 사이트들 작업할 때 썼던건데..

현재 사이트는 

 

<script>

$(window).load(function() {

$('.blueberry').blueberry();

});

</script>

 

이 구문에서 펑션을 찾을 수 없다는 오류가 뜨네요

 

Uncaught TypeError: $(...).blueberry is not a function 

 

js 파일 도 정상적으로 읽어지는데 롤링 작동도 되지않고.. 해결책이 없을까요?

뭐가 잘못된거죠...

 

아래는 사용중인 js파일

 


/*
 * jQuery Blueberry Slider v0.4 BETA
 * http://marktyrrell.com/labs/blueberry/
 *
 * Copyright (C) 2011, Mark Tyrrell <*** 개인정보보호를 위한 이메일주소 노출방지 ***>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
 
(function($){
	$.fn.extend({
		blueberry: function(options) {
 
			//default values for plugin options
			var defaults = {
				interval: 4000,
				duration: 500,
				lineheight: 1,
				hoverpause: false,
				pager: true,
				nav: true, //reserved
				keynav: true
			}
			var options =  $.extend(defaults, options);
 
			return this.each(function() {
				var o = options;
				var obj = $(this);
 
				//store the slide and pager li
				var slides = $('.slidess li', obj);
				var pager = $('.pager li', obj);
 
				//set initial current and next slide index values
				var current = 0;
				var next = current+1;
 
				//get height and width of initial slide image and calculate size ratio
				var imgHeight = slides.eq(current).find('img').height();
				var imgWidth = slides.eq(current).find('img').width();
				var imgRatio = imgWidth/imgHeight;
 
				//define vars for setsize function
				var sliderWidth = 995;
				var cropHeight = 0;
 
				//hide all slides, fade in the first, add active class to first slide
				slides.hide().eq(current).fadeIn(o.duration).addClass('active');
				
 
				//build pager if it doesn't already exist and if enabled
				if(pager.length) {
					pager.eq(current).addClass('active');
				} else if(o.pager){
					obj.append('<ul class="pager"></ul>');
					slides.each(function(index) {
						$('.pager', obj).append('<li><a href="#"><span>'+index+'</span></a></li>')
					});
					pager = $('.pager li', obj);
					pager.eq(current).addClass('active');
				}
 
				//rotate to selected slide on pager click
				if(pager){
					$('a', pager).click(function() {
						//stop the timer
						clearTimeout(obj.play);
						//set the slide index based on pager index
						next = $(this).parent().index();
						//rotate the slides
						rotate();
						return false;
					});
				}
 
				//primary function to change slides
				var rotate = function(){
					//fade out current slide and remove active class,
					//fade in next slide and add active class
					slides.eq(current).fadeOut(o.duration).removeClass('active')
						.end().eq(next).fadeIn(o.duration).addClass('active').queue(function(){
							//add rotateTimer function to end of animation queue
							//this prevents animation buildup caused by requestAnimationFrame
							//rotateTimer starts a timer for the next rotate
							rotateTimer();
							$(this).dequeue()
					});
 
					//update pager to reflect slide change
					if(pager){
						pager.eq(current).removeClass('active')
							.end().eq(next).addClass('active');
					}
 
					//update current and next vars to reflect slide change
					//set next as first slide if current is the last
					current = next;
					next = current >= slides.length-1 ? 0 : current+1;
				};
				//create a timer to control slide rotation interval
				var rotateTimer = function(){
					obj.play = setTimeout(function(){
						//trigger slide rotate function at end of timer
						rotate();
					}, o.interval);
				};
				//start the timer for the first time
				rotateTimer();
 
				//pause the slider on hover
				//disabled by default due to bug
				if(o.hoverpause){
					slides.hover(function(){
						//stop the timer in mousein
						clearTimeout(obj.play);
					}, function(){
						//start the timer on mouseout
						rotateTimer();
					});
				}
 
				//calculate and set height based on image width/height ratio and specified line height
				var setsize = function(){
					sliderWidth = $('.slidess', obj).width();
					cropHeight = Math.floor(((sliderWidth/imgRatio)/o.lineheight))*o.lineheight;
 
					$('.slidess', obj).css({height: cropHeight});
				};
				setsize();
 
				//bind setsize function to window resize event
				$(window).resize(function(){
					setsize();
				});
				
				
 
				//Add keyboard navigation
 
				if(o.keynav){
					$(document).keyup(function(e){
 
						switch (e.which) {
 
							case 39: case 32: //right arrow & space
 
								clearTimeout(obj.play);
 
								rotate();
 
								break;
 
 
							case 37: // left arrow
								clearTimeout(obj.play);
								next = current - 1;
								rotate();
 
								break;
						}
 
					});
				}
 
 
			});
		}
	});
})(jQuery);

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 11
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT