Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 如何将滚动条居中?_Javascript_Jquery_Html_Css_Scrollbar - Fatal编程技术网

Javascript 如何将滚动条居中?

Javascript 如何将滚动条居中?,javascript,jquery,html,css,scrollbar,Javascript,Jquery,Html,Css,Scrollbar,如何使div的滚动条居中 这就是我所拥有的: <div id="mydiv" style="width:1000px;overflow:auto;"> <img src="..." style="width:100%;height:250px;" /> </div> $(window).on('resize', function () { $('#mydiv').scrollLeft( $( "#mydiv" ).wid

如何使div的滚动条居中

这就是我所拥有的:

<div id="mydiv" style="width:1000px;overflow:auto;">
   <img src="..." style="width:100%;height:250px;" />
</div>

$(window).on('resize', function () {
    $('#mydiv').scrollLeft(
            $( "#mydiv" ).width() - $( "#mydiv" ).width()/2
    );
});

$(窗口).on('resize',函数(){
$('#mydiv')。向左滚动(
$(“#mydiv”).width()-$(“#mydiv”).width()/2
);
});
但这不起作用。它不完全是对中的。太糟糕了,我不能设定百分之五十。scrollLeft(()函数需要一个整数


谢谢!

这是你的解决方案,我已经用每一个可能小于图像宽度的宽度进行了检查。甚至用塑料尺测量了滚动条的左右两侧空间..LOL.:)以检查两侧是否相等

var outer=document.getElementById('mydiv').offsetWidth
var inner=document.getElementById('im').offsetWidth;
控制台日志(内部);
$('#mydiv')。向左滚动((内外)/2)

这是您的解决方案,我已经检查了所有可能小于图像宽度的宽度。甚至用塑料尺测量了滚动条的左右两侧空间。。LOL.:)检查两边是否相等

var outer=document.getElementById('mydiv').offsetWidth
var inner=document.getElementById('im').offsetWidth;
控制台日志(内部);
$('#mydiv')。向左滚动((内外)/2)

简易解决方案:

垂直滚动:
$(scrollWrapper).scrollTop(($(content.height()-$(scrollWrapper.height())/2)

水平滚动:
$(scrollWrapper).scrollLeft($(content.width()-$(scrollWrapper.width())/2)

简易解决方案:

垂直滚动:
$(scrollWrapper).scrollTop(($(content.height()-$(scrollWrapper.height())/2)

水平滚动:

$(scrollWrapper).scrollLeft($(content.width()-$(scrollWrapper.width())/2)

这就是你要找的吗@JasonP,是的,但是当调整#mydiv的大小时(例如,调整浏览器的大小时),滚动条不再居中。举个例子:我试过了,它似乎有效@UDB是对的,我也改变了你的照片。这就是你要找的吗@JasonP,是的,但是当调整#mydiv的大小时(例如,调整浏览器的大小时),滚动条不再居中。举个例子:我试过了,它似乎有效@UDB是对的,我也更改了你的图像。谢谢,但是在#mydiv中有一个图像映射()。我必须把它们全部改成width:inherit吗?@Jordy我很抱歉,如果没有一个有效的例子,我就说不出来。你能编辑你的问题,提供完整的代码或修改代码吗?看,这不起作用:jsfiddle.net/HSJft/2显示的图像与div的宽度和高度完全匹配,但是我需要一个滚动条来显示图像的原始宽度和高度。@Jordy你想要垂直和水平滚动条吗?只有水平滚动条可以!谢谢,但是在#mydiv中有一个图像映射()。我必须把它们全部改成width:inherit吗?@Jordy我很抱歉,如果没有一个有效的例子,我就说不出来。你能编辑你的问题,提供完整的代码或修改代码吗?看,这不起作用:jsfiddle.net/HSJft/2显示的图像与div的宽度和高度完全匹配,但是我需要一个滚动条来显示图像的原始宽度和高度。@Jordy你想要垂直和水平滚动条吗?只有水平滚动条可以!