2017-10-10 553 views
0

我很難將外部jQuery庫集成到我自己的液體頁面中。我想用CDN加載它。Liquid/Shopify:我如何在頁面中添加jQuery?

theme.liquid頁面我加載JavaScript這樣:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
{{ 'spot-the-ball.js' | asset_url | script_tag }} 

裏面的spot-the-ball.js我有一個純JavaScript .onload功能是workig。然後我有以下jQuery不工作:

$('.coords').mousemove(function (e) { 
       // console.log(e.clientX); 
       // var x = ((e.clientX - left)/width).toFixed(1), 
       //  y = ((height - (e.clientY - top))/height).toFixed(1); 

        x = e.clientX - 50; 
        y = e.clientY - 50; 

       $(tooltip).text(x + ', ' + y).css({ 
        left: e.clientX - 30, 
        top: e.clientY - 30 
       }).show(); 
      }); 

$('.coords').mouseleave(function() { 
       $(tooltip).hide(); 
      }); 

    $(".coords").mouseup(function(){ 
     $('.yourcoordinates').append("X:",x," Y:",y) 
    }); $('.coords').mousemove(function (e) { 
       // console.log(e.clientX); 
       // var x = ((e.clientX - left)/width).toFixed(1), 
       //  y = ((height - (e.clientY - top))/height).toFixed(1); 

        x = e.clientX - 50; 
        y = e.clientY - 50; 

       $(tooltip).text(x + ', ' + y).css({ 
        left: e.clientX - 30, 
        top: e.clientY - 30 
       }).show(); 
      }); 

$('.coords').mouseleave(function() { 
       $(tooltip).hide(); 
      }); 

    $(".coords").mouseup(function(){ 
     $('.yourcoordinates').append("X:",x," Y:",y) 
    }); 
+2

檢查是否有在開發者控制檯中的任何錯誤,然後寫一個簡單的'的console.log(「測試」)檢查JS是否被加載,然後檢查目標元素是否實際加載,然後將目標設置爲console.log($('.coords').length)'。 99%的時間你會以這種方式找到問題。 – drip

+0

是的,有錯誤,我要回答我自己的問題,所以每個人都可以看到解決方案。謝謝 –

回答

1

我在項目中有另一個js文件正在使用舊版本的jQuery。控制檯顯示錯誤。 我加載了一個較舊的CDN,現在一切正常。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.js" type="text/javascript"></script> 
0

你可以把這個在你的模板,例如theme.liquid

{{ '//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js' | script_tag }} 
+1

是的,這就是我所做的。即使沒有液體sintax,它也可以工作,只是普通的