使用$(this)for mousemove的jQuery意外标识符

时间:2013-02-12 11:01:08

标签: jquery parallax

我试图通过以下方法对一个元素产生视差效果:

jQuery(document).ready(function($){
    $('#Parallax').mousemove(
            function(e){
            /* Work out mouse position */
            var offset = $(this).off­set();
            var xPos = e.pageX - off­set.left;
            var yPos = e.pageY - off­set.top;

            /* Get per­cent­age positions */
            var mou­s­eX­Per­cent = Math.round(xPos / $(this).width() * 100);
            var mou­seY­Per­cent = Math.round(yPos / $(this).height() * 100);

            /* Pos­i­tion Each Layer */
            $(this).children('img').each(
                    function(){
                            var diffX = $('#Parallax').width() - $(this).width();
                            var diffY = $('#Parallax').height() - $(this).height();

                            var myX = diffX * (mou­s­eX­Per­cent / 100);
                            var myY = diffY * (mou­seY­Per­cent / 100);
                            var cssObj = {
                                    'left': myX + 'px',
                                    'top': myY + 'px'
                            }
                            $(this).animate({left: myX, top: myY},{duration: 50, queue: false, easing: 'linear'});

                    }
            );

            }
    );
});

但是,我一直收到以下错误:

  

未捕获的语法错误:第5行的意外标识符“var offset = $(this).offset();”。

我错过了什么......?

已解决 - 存在隐藏的格式问题。没有代码问题

1 个答案:

答案 0 :(得分:1)

很高兴我帮助安德鲁。

我在评论中的回答:

  

当我复制粘贴你的代码时,offset之间有一个隐藏的字符   off-set(在记事本中显示为{{1}})。如果这个字符在您的代码中   也可能是问题。