私は this ウェブサイトに取り組んでいます(私はウェブサイトを作った人ではありませんでしたが、残念ながらそれを修正する必要があります)。 Firebugでこのエラーが発生しました:TypeError:j(...)。bxSliderは関数ではありません
これが私の<head>
:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript" src="/wp-content/themes/aykamakina/bxslider/jquery.bxslider.min.js"></script>
<link type="text/css" href="/wp-content/themes/aykamakina/bxslider/jquery.bxslider.css" rel="stylesheet" media="all">
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css" media="all">
<script type="text/javascript" src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script src="/wp-content/themes/aykamakina/tabs/js/easyResponsiveTabs.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="/wp-content/themes/aykamakina/tabs/css/easy-responsive-tabs.css">
<link rel="stylesheet" href="/wp-content/themes/aykamakina/fancybox/source/jquery.fancybox.css" type="text/css" media="screen">
<script type="text/javascript" src="/wp-content/themes/aykamakina/fancybox/source/jquery.fancybox.js"></script>
これが私のマークアップです:
<div class="the-main-slider-container">
<ul class="bxslider">
<li>
<img alt="slider" src="/wp-content/uploads/2014/03/slider-1.jpg">
</li>
<li>
<img alt="slider" src="/wp-content/uploads/2014/03/slider-2.jpg">
</li>
<li>
<img alt="slider" src="/wp-content/uploads/2014/03/slider-3.jpg">
</li>
<li>
<img alt="slider" src="/wp-content/uploads/2014/03/slider-4.jpg">
</li>
<li>
<img alt="slider" src="/wp-content/uploads/2014/03/slider-5.jpg">
</li>
</ul>
<div id="bx-pager">
<div class="pager-wrapper">
<div class="pager-container">
<a data-slide-index="0" href=""><img alt="icone" src="/wp-content/uploads/2014/03/D320-icone-features-features.png"></a>
<a data-slide-index="1" href=""><img alt="icone" src="/wp-content/uploads/2014/03/D320-icone-features-confezioni.png"></a>
<a data-slide-index="2" href=""><img alt="icone" src="/wp-content/uploads/2014/03/D320-icone-features-vantaggi.png"></a>
<a data-slide-index="3" href=""><img alt="icone" src="/wp-content/uploads/2014/03/D320-icone-features-specifiche.png"></a>
<a data-slide-index="4" href=""><img alt="icone" src="/wp-content/uploads/2014/03/d320-icone-compact2.png"></a>
</div>
</div>
</div>
</div>
スクリプトは次のとおりです。
<script type="text/javascript">
var j = jQuery.noConflict();
j(document).ready(function()
{
j('.bxslider').bxSlider({
pagerCustom: '#bx-pager',
mode: 'fade'
});
});
j(function ($) {
j(document).ready(function(){
j('.slider8').bxSlider({
mode: 'vertical',
slideWidth: 300,
minSlides: 2,
slideMargin: 10
});
});
});
j(document).ready(function() {
j(".various").fancybox({
maxWidth : 450,
maxHeight : 400,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none'
});
});
</script>
ご覧のとおり、私はnoConflict;を使おうとしました。インターネット上で同じエラーの投稿がたくさん見られ、それらのほとんどがnoConflictで問題を解決したように見えるからです。しかし、それは私にとってはうまくいきません。
ちなみに、すべてのスライダーはCyclone Sliderというプラグインで作成されていたので、前の開発者がやったことは本当にわかりません...
そして、マークアップは問題ないようです。何が悪いのかわかりません。どんな助けでも本当にありがたいです。どうもありがとうございました!
編集#1:ソースコードで見つけたjQueryの他のインスタンス。
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.50.0-2014.02.05'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-includes/js/jquery/jquery.masonry.min.js?ver=2.1.05'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/cyclone-slider-2/libs/cycle2/jquery.cycle2.min.js?ver=2.8.2'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/cyclone-slider-2/libs/cycle2/jquery.cycle2.carousel.min.js?ver=2.8.2'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/cyclone-slider-2/libs/cycle2/jquery.cycle2.swipe.min.js?ver=2.8.2'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/cyclone-slider-2/libs/cycle2/jquery.cycle2.tile.min.js?ver=2.8.2'></script>
<script type='text/javascript' src='http://reformpackagingmachine.com/wp-content/plugins/cyclone-slider-2/libs/cycle2/jquery.cycle2.video.min.js?ver=2.8.2'></script>
いろいろ試してみて、なんとか自分の問題を解決できました。 bxSlider、easyResponsiveTabs、およびそれらを呼び出すスクリプトのJavaScriptファイルをfooter.phpに配置しました。しかし、私はjQueryとjQueryのUIファイルをheader.phpに、スライダーのcssファイルと一緒に残しました。
これですべてが正常に機能し、マークアップは検証テストに合格しました。同じ種類のエラーが発生している場合。
また、あなたは私に手紙を書くことができます、私は助けることを試みることができます。
JQueryスクリプトをチェックすると答える人もいます。1つだけであることを確認してください。しかし、「なぜ」には答えないでください。質問。同じ(この質問)問題がありましたが、解決しました。 bxSliderの(リンクされた)JSファイルはjQueryの関数を作成し、後のファイルはこの関数を上書きします(jQueryには元々bxSliderのものが含まれていないため、削除してください)。したがって、答えは、最後のjQuery JSファイルリンクの後にJSリンクを配置すると、機能します。
ほとんどの場合、原因はjQueryの複数のインスタンスです。をさらに下に見ると、WPがさらにタグを挿入しており、そのうちの1つがjQueryのように見えることがわかります。
JQueryの2番目のインスタンスは、おそらくプラグインによって挿入されています。どちらを特定して無効にして、問題が解決するかどうかを確認してください。