1

在我使用的脚本中,以下代码用于将弹出窗口定位在屏幕中间。

我需要以Y位置与我单击的项目相同的方式更改它。所以如果我点击一个项目,弹出窗口应该显示在与我点击的项目相同的高度。我不知道 jquery 和 2 小时的尝试没有帮助。任何帮助表示赞赏

我标记了需要编辑的行。

                switch(a)
            {
                case 'postdetails':
                case 'userdetails':
                    $('#reputation-popup').addClass('normal-popup');
                    targetleft = ($(window).width() - $('#reputation-popup').outerWidth()) / 2;
                    targettop = ($(window).height() - $('#reputation-popup').outerHeight()) / 2;
                    /////// THE LINE ABOVE THIS IS THE ONE I NEED TO EDIT!!!! //////////

                break;
                case 'newpopup':
                    $('#reputation-popup').addClass('new-popup');
                    targetleft = ($(window).width() - $('#reputation-popup').outerWidth()) / 2;
                    targettop = ($(window).height() - $('#reputation-popup').outerHeight()) / 2;
                break;
                default:
                    $('#reputation-popup').addClass('small-popup');
                    // Center popup relative to clicked coordinate
                    targetleft = c.pageX - $('#reputation-popup').outerWidth() / 2;
                    // Popup can not be too close or behind the right border of the screen
                    targetleft = Math.min (targetleft, $(document).width() - 20 - $('#reputation-popup').outerWidth());
                    targetleft = Math.max (targetleft, 20);
                    targettop = c.pageY + 10;
                break;
            }
4

3 回答 3

2
$('#item1').click(function(){
     // GETS POSITION OF CLICKED ITEM
     var offset = this.offset();
     var x = offset.left;
     var y = offset.top;
     // GETS THE DIMENSION OF THE CLICKED ITEM
     var w = this.width();
     var h = this.height();
     // APPLY THE SETTINGS TO ITEM2 USING CSS FUNCTION
     $('#item2').css({
         .....
     });
    // http://api.jquery.com/css/

});
于 2013-08-11T10:48:44.663 回答
1

您可以使用以下 jQuery 函数来定位弹出菜单:

1) event.pageX, event.pageY 为您提供相对于文档的鼠标位置

参考:http ://api.jquery.com/event.pageY/

2) offset() : 它给出一个元素的偏移位置

参考:http ://api.jquery.com/offset/

3) position() : 它给你一个元素的相对位置

参考:http ://api.jquery.com/position/

于 2013-08-11T10:46:38.583 回答
1

尝试:

 $("item").offset().top;
 $("item").offset().left;

更多信息在这里:http ://api.jquery.com/offset/

于 2013-08-11T10:42:25.030 回答