이미지 롤링 스크립트를 사용중인데요 다른 사이트들 작업할 때 썼던건데..
현재 사이트는
<script>
$(window).load(function() {
$('.blueberry').blueberry();
});
</script>
이 구문에서 펑션을 찾을 수 없다는 오류가 뜨네요
Uncaught TypeError: $(...).blueberry is not a function
js 파일 도 정상적으로 읽어지는데 롤링 작동도 되지않고.. 해결책이 없을까요?
뭐가 잘못된거죠...
아래는 사용중인 js파일
Copy
/* * jQuery Blueberry Slider v0.4 BETA * http://marktyrrell.com/labs/blueberry/ * * Copyright (C) 2011, Mark Tyrrell <me@marktyrrell.com> * * 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개
채택된 답변
+20 포인트
ysnet
9년 전
<script>
$(window).load(function() {
$('.blueberry').blueberry2();
});
</script>
답변을 작성하려면 로그인이 필요합니다.