2015-03-13 109 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

相关问题