0

我检查了这个链接 SO:Pop Images like Google Images

并尝试设置图像悬停效果。

当我在这里测试时一切正常

// 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 效果。

有没有办法解决这个问题?

4

5 回答 5

0

尝试使用以下代码开始您的代码:

jQuery(document).ready(function ($) {
于 2012-06-26T14:41:16.963 回答
0

那是因为你忘记加载 jQuery 了:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
于 2012-06-26T14:43:02.897 回答
0

在调用之前,您是否在页面中包含了 jQuery $('.hovermore').ibox();

另外,我认为这无关紧要,但也要确保您使用的是最新版本的 jQuery。

您能否发布一个链接到它不起作用的页面,以便我们可以看到所有代码?

于 2012-06-26T14:45:03.720 回答
0

您忘记包含 jQuery 库。

访问演示,转到 SAVE -> DOWNLOAD 并查看下载的文件。

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>
于 2012-06-26T14:48:21.183 回答
0

请试试

jQuery(document).ready(function($) {
    $('.item').ibox();
});

或者

jQuery(document).ready(function() {
    jQuery('.item').ibox();
});
于 2012-06-26T14:54:23.517 回答