Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery将相对定位的元素居中?_Javascript_Jquery_Html_Center - Fatal编程技术网

Javascript 如何使用jquery将相对定位的元素居中?

Javascript 如何使用jquery将相对定位的元素居中?,javascript,jquery,html,center,Javascript,Jquery,Html,Center,我试图创建一个函数,它返回“左值应该是多少,以使当前元素居中”。这使我可以设置到中心(和后面)的动画,或者简单地将项目居中 不过,我在相对定位部分遇到了问题。我错过了什么 谢谢 jQuery.fn.centerHorizontalOffset = function () { var position = $(this).css("position"); if (position == "relative"){ return (($(window).width()

我试图创建一个函数,它返回“左值应该是多少,以使当前元素居中”。这使我可以设置到中心(和后面)的动画,或者简单地将项目居中

不过,我在相对定位部分遇到了问题。我错过了什么

谢谢


jQuery.fn.centerHorizontalOffset = function () {
    var position = $(this).css("position");
    if (position == "relative"){
        return (($(window).width() - $(this).width()) / 2) - $(this).parent().offset().left;
    } else if (position == "absolute"){
        return ($(window).width() - $(this).width()) / 2;
    }
    return ($(window).width() - $(this).width()) / 2;
}
jQuery.fn.centerHorizontalDistance = function () {
    return $(this).centerHorizontalOffset()-$(this).position().left;
}
$('#myDiv').css('left', $('#myDiv').centerHorizontalDistance());

我会考虑使用jQueryUI的新“Position”插件:-它非常适合做你想要的事情


…我知道这不是对你问题的直接回答,但这为我节省了大量时间,为什么要重新发明轮子?=)。祝你好运

你可以创建一个什么,你到目前为止,包括你的html和css。对我来说,这有点难回答,因为看起来你可能只是把它倒过来了。不过,我最终只是使用了jquery ui框架,谢谢!