IE 无法识别 jQuery 选择器

发布于 2024-09-10 09:46:20 字数 984 浏览 2 评论 0原文

下面是我用 jQuery 为 div 制作动画的代码片段:

        $('.row0').hover(function(){
     var markeranim = $('.marker0');
     var shadowanim = $('.markerShadow0')
     var markertop = markeranim.position().top;
     var shadowtop = shadowanim.position().top;
     var shadowleft = shadowanim.position().left;
      $('tr.row0').addClass('rowHoveredEven');
       markeranim.animate({ top: [markertop - 20 + 'px'] }, 250, 'linear',
function() {
                    markeranim.animate({ top: [markertop + 'px'] }, 250, 'linear',
function() {
                        markeranim.animate({ top: [markertop - 10 + 'px'] }, 200,
'linear', function() {
                            markeranim.animate({ top: [markertop + 'px'] }, 200);
                        });
                    });
                });//close animation

这在除 IE 之外的所有浏览器中都非常有效(当然)。 IE 给出错误消息:“'position().top' 为 null 或不是对象”以及:“'position().left' 为 null 或不是对象”。有人知道为什么或者我可以通过其他方式获取 IE 可以很好地发挥作用的这些属性吗?

Here's the snippet of code that I'm using to animate a div with jQuery:

        $('.row0').hover(function(){
     var markeranim = $('.marker0');
     var shadowanim = $('.markerShadow0')
     var markertop = markeranim.position().top;
     var shadowtop = shadowanim.position().top;
     var shadowleft = shadowanim.position().left;
      $('tr.row0').addClass('rowHoveredEven');
       markeranim.animate({ top: [markertop - 20 + 'px'] }, 250, 'linear',
function() {
                    markeranim.animate({ top: [markertop + 'px'] }, 250, 'linear',
function() {
                        markeranim.animate({ top: [markertop - 10 + 'px'] }, 200,
'linear', function() {
                            markeranim.animate({ top: [markertop + 'px'] }, 200);
                        });
                    });
                });//close animation

This works great in all browsers but IE (of course). IE gives an error saying that: "'position().top' is null or not an object" along with: "'position().left' is null or not an object". Anyone know why or another way that I could grab these attributes that IE would play nice with?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

菊凝晚露 2024-09-17 09:46:20

从 1.2.6 开始,.position() 尺寸插件已被弃用,请使用 .css() 代替:

var myTop = markeranim.css("top");
var myLeft = markeranim.css("left");

http ://docs.jquery.com/Plugins/dimensions

The .position() dimensions plugin has been deprecated as of 1.2.6, use .css() instead:

var myTop = markeranim.css("top");
var myLeft = markeranim.css("left");

http://docs.jquery.com/Plugins/dimensions

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文