Jquery图像悬停效果错误

时间:2012-06-26 14:37:14

标签: javascript jquery wordpress

我查看了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效果。

有什么方法可以解决这个问题吗?

5 个答案:

答案 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();
});