2015-03-13 106 views
0

你好我已經在codepen上做了一個jQuery圖像映射,但是當我將它轉移到我的客戶端時WordPress安裝不再起作用了嗎?爲什麼jQuery圖像映射不能在WordPress上工作

WordPress的網站是由創世而成,我認爲這可能是造成這個問題......我也用jQuery取代$停止衝突問題。

筆:http://codepen.io/naniio/pen/QwVXWG

的jQuery:

jQuery(document).ready(function($) { 
    jQuery(".clickable").click(function() { 
     var toHide = $(this).attr('data-hide'); 
     jQuery(".map").toggle(); 
     jQuery("#" + toHide).toggle(); 
    }); 

    jQuery(".hide").click(function() { 
     jQuery(".map").toggle(); 
     jQuery(this).toggle(); 
    }); 

});

網站www.shakesafe.co.nz

我添加的代碼(HTML + JS)用簡單的掛鉤主頁,然後用一個自定義的body標籤中萎樣本樣式表主頁添加CSS。但是Jquery不起作用?你們有什麼想法嗎?

感謝您一如既往的時間和精力!

回答

1

始終檢查在這種情況下,我看到一個Uncaught TypeError: undefined is not a function的消息,該錯誤可以在你的頁面上的第112行找到,如果你仔細檢查,你正在使用$而不分配jQuery對象,因此導致錯誤:

jQuery(document).ready(function() { 
    jQuery(".clickable").click(function() { 
     var toHide = $(this).attr('data-hide'); // Line 112 where error is from 
     jQuery(".map").toggle(); 
     jQuery("#"+toHide).toggle(); 
    }); 

    jQuery(".hide").click(function() { 
     jQuery(".map").toggle(); 
     jQuery(this).toggle(); 
    }); 
}); 

更換$jQuery,即var toHide = jQuery(this).attr('data-hide');

或者,你可以告訴您正在使用$站在了jQuery對象jQuery的,節省您的5個字符的每一個實例調用它:

jQuery(document).ready(function($) { 
    $(".clickable").click(function() { 
     var toHide = $(this).attr('data-hide'); 
     $(".map").toggle(); 
     $("#"+toHide).toggle(); 
    }); 

    $(".hide").click(function() { 
     $(".map").toggle(); 
     $(this).toggle(); 
    }); 
}); 
1

可能是因爲第三行上的$: var toHide = $(this).attr('data-hide');

嘗試將其更改爲jQuery。它可能工作。

而且你的網站對你的代碼中沒有$:

jQuery的(文件)。就緒(函數(){

嘗試把$小括號之間的功能之後

+0

這不是真的 - OP已經委派'$'到jQuery對象(在第一行中,'jQuery(document).ready(function($)...'),所以使用'$'代替jQuery對象應該沒有問題。 – Terry 2015-03-13 08:07:46

+0

@特里你的答案更詳細,請在評論不正確之前仔細檢查我的答案。 – 2015-03-13 09:37:02

相關問題