Snažím sa spustiť plugin na stránke CS Cart, ktorá umožňuje iba jQuery 1.7+ http://owlgraphic.com/owlcarousel/ je plugin, ktorý používam.
Našiel som útržok kódu na inom lístku,ktorý umožňuje spúšťať dve verzie jQuery pomocou metódy noConflict. Celý pôvodný kód je v poriadku. Ale tento plugin nie je spustený a udržuje hádzanie chyby Uncaught TypeError: undefined is not a function
na tomto riadku: $j("#wrapper").owlCarousel({
Avšak, ak pridám nasledujúci lin vnútri môjho dokumentu o zaťaženie funkcie sa zdá, že beží, potom prestávky, keď sa dostane do funkcie .owlCarousel. - $j("body").css("background-color", "red");
Tu je rozpis môjho kódu:
// Načítané n v hornej časti stránky
{script src="lib/js/jquery/jquery.min.js"}
{script src="lib/js/jquery/jquery.min.1.8.js"}
<script>var $j = jQuery.noConflict(true);</script>
<script type="text/javascript">
$(document).ready(function(){
console.log($().jquery); // This prints v1.5.2
console.log($j().jquery); // This prints v1.8
});
</script>
// Načíta sa v dolnej časti stránky po väčšine existujúcich JS
<script type="text/javascript">
$j(document).ready(function(){
$j("body").css("background-color", "red");
$j("#wrapper").owlCarousel({
//autoPlay: 3000, //Set AutoPlay to 3 seconds
items : 2,
itemsCustom : [
[200, 2],
],
navigation : true
});
});
</script>
Zvláštnou vecou je, že ak nahradím starú verziu jQuery novým, funguje to, ale rozbije starý kód, ktorý sa opiera o starú verziu.
Dúfam, že som poskytol dostatok informácií.
Vopred ďakujem.
odpovede:
1 pre odpoveď č. 1jQuery pluginy normálne háčiky na aktuálnu jquery verziu pripojenú k nej, najprv načítať starú verziu jQuery potom plugin, ktorý bude používať, potom načítať novšie.
Verím, že "plugin1" bude pripojený k staršej verzii jQuery.
{script src="lib/js/jquery/jquery.min.js"}
<script>var j1 = jQuery.noConflict(true);</script>
{script src="lib/js/jquery/plugin1.js"}
{script src="lib/js/jquery/jquery.min.1.8.js"}
<script>var j2 = jQuery.noConflict(true);</script>
{script src="lib/js/jquery/plugin2.js"}
{script src="lib/js/jquery/plugin3.js"}
ospravedlňujem sa za svoju angličtinu.