我查看了S.O:Pop Images like Google Images
的链接并尝试设置图像悬停效果。
当我在here
中测试时,一切正常// ibox image zoomer plugin // roXon
(function($) {
$.fn.ibox = function() {
// set zoom ratio //
resize = 20;
////////////////////
var img = this;
img.parent().append('<div id="ibox" />');
var ibox = $('#ibox');
var elX = 0;
var elY = 0;
img.each(function() {
var el = $(this);
el.mouseenter(function() {
ibox.html('');
var elH = el.height();
elX = el.position().left - 6; // 6 = CSS#ibox padding+border
elY = el.position().top - 6;
var h = el.height();
var w = el.width();
var wh;
checkwh = (h < w) ? (wh = (w / h * resize) / 2) : (wh = (w * resize / h) / 2);
$(this).clone().prependTo(ibox);
ibox.css({
top: elY + 'px',
left: elX + 'px'
});
ibox.stop().fadeTo(200, 1, function() {
$(this).animate({top: '-='+(resize/2), left:'-='+wh},400).children('img').animate({height:'+='+resize},400);
});
});
ibox.mouseleave(function() {
ibox.html('').hide();
});
});
};
})(jQuery);
$(document).ready(function() {
$('.item').ibox();
});
但是当我将它添加到我的网站时,我收到以下错误
Uncaught TypeError: Property '$' of object [object Window] is not a function
$('.hovermore').ibox();
我猜它是因为网站上的其他jquery效果。
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
尝试使用以下代码启动代码:
jQuery(document).ready(function ($) {
答案 1 :(得分:0)
那是因为你忘了加载jQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
答案 2 :(得分:0)
您是否在调用$('.hovermore').ibox();
之前在页面中添加了jQuery?
另外,我认为这不重要,但也要确保你使用的是最新版本的jQuery。
您是否可以发布指向不起作用的页面的链接,以便我们可以看到所有代码?
答案 3 :(得分:0)
你忘了包含jQuery库。
访问this演示,转到SAVE - &gt;下载并查看下载的文件。
http://jsbin.com/ifefop/edit#javascript,html,live
您的文件应该有:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
如果您将脚本放在外部文件中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="js/ibox.js"></script>
答案 4 :(得分:0)
请尝试
jQuery(document).ready(function($) {
$('.item').ibox();
});
或
jQuery(document).ready(function() {
jQuery('.item').ibox();
});