前提・実現したいこと
先日jQueryでのスライダーの実装を頼まれまして、
過去に実装した経験がなかったので、調査から入り、
色々と試行錯誤していたのですが、
うまくいきません。
発生している問題・エラーメッセージ
Uncaught TypeError: slider.goToNextSlide is not a function
該当のソースコード
html
1//スクリプト(jQuery)読み込み部分 2<script type='text/javascript' src='/script/jquery-1.9.1.min.js'></script> 3<script type="text/javascript"> 4 $(function(){ 5 $('a[href^=#]').click(function(){ 6 var speed = 800; 7 var href= $(this).attr("href"); 8 var target = $(href == "#" || href == "" ? 'html' : href); 9 var position = target.offset().top; 10 $("html, body").animate({scrollTop:position }, speed, "swing"); 11 return false; 12 }); 13 }); 14</script> 15<script type="text/javascript"> 16 $(function() { 17 var pageTop = $('.page_top'); 18 pageTop.hide(); 19 $(window).scroll(function () { 20 if ($(this).scrollTop() > 400) { 21 pageTop.fadeIn(); 22 } else { 23 pageTop.fadeOut(); 24 } 25 }); 26 pageTop.click(function () { 27 $('body, html').animate({scrollTop:0}, 800, 'swing'); 28 return false; 29 }); 30 }); 31</script> 32<script type="text/javascript" src="/script/jquery.inview.js"></script> 33<script type="text/javascript" src="/script/list.js"></script> 34<script type='text/javascript' src='/script/jquery.min.js'></script> 35<script type='text/javascript' src='/script/menu_fix.js'></script> 36<script type="text/javascript" src="/script/jquery-1.8.0.min.js"></script> 37<!--Jqueryを混在させるため以下--> 38<script type="text/javascript"> 39 var $180 = jQuery.noConflict(true); 40 41 (function($){ 42 $(function(){ 43 console.info("jQuery = " + $.fn.jquery); 44 }); 45 })(jQuery); 46 47 (function($){ 48 $(function(){ 49 console.info("$180 = " + $.fn.jquery); 50 }); 51 })($180); 52 (function($){ 53 $(function(){ 54 console.info("$ = " + $.fn.jquery); 55 }); 56 })($); 57</script> 58<script type="text/javascript" src="/script/jquery.bxslider.js"></script> 59
jQuery
1 //スライダー実装部分 2 (function($) { 3 $(document).ready(function () { 4 var slider = $('.bxslider').bxSlider({ 5 easing: 'easeInOutCubic', 6 speed: 1000, 7 pager: false 8 }); 9 $('#next_btn').on('click', function () { 10 slider.goToNextSlide(); 11 }) 12 $('#prev_btn').on('click', function () { 13 slider.goToPrevSlide(); 14 }) 15 }); 16 17 })(jQuery); 18
試したこと
上のソースではbxsliderを利用していますが、
こだわりはありません。
slickでの実装も試みましたが、こちらに関しては、
slickメソッド自体がnot functionと言われてしまい、
何一つ動作しない状態でした。
jqueryの読み込む位置は、スライダースクリプトよりも前になっているので、
その点は問題ないかと考えています。
bxsliderを利用してみたところbxsliderメソッドだけはなぜか機能したので、
とりあえず仮でbxsliderを利用しています。
jqueryの競合による問題であることも想定して、
var $j = jQuery.noConfict()
を利用する方法も試しましたが変化はありませんでした。
スクリプトの読み込みエラーも想定し、
DevToolsのSourcesタブからjsファイルも確認したのですが、
全て問題なく読み込まれていました。
ちなみにbxsliderはbxsliderメソッド以外は何一つ機能しません。
(~ is not functionと言われる)
どちらのスライダーで試しても同じようなエラーが出たため、
スライダープラグインに問題があるのではなく、
根本的に何か問題があるのではないかと思い、
質問させていただいております。
怪しいところなど御座いましたら、ご指摘いただけると幸いです。