无需插件控制水平滚动条的位置
我需要你的帮助。也许一个提示就足够了。我没见过的东西...
我希望水平滚动条(类滚动)动态地向左滚动到具有类右的div的可见部分的开头。请看一下 css 部分的注释。
div 的宽度(类:左/右)稍后会动态变化。 所以我必须以某种方式将滚动条定位到右侧部分的开头。
边框始终位于屏幕的中间。右侧部分应位于边框右侧,左侧部分位于左侧。
你知道该怎么做吗? 我知道解释起来很困难。请询问。
这是我的代码片段。
<!-- HTML -->
<div class="width100">
<div class="scroll">
<div class="outer">
<div class="border"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</div>
</div>
-
<!-- CSS -->
.width {
width:100%;
}
.scroll {
overflow-x: scroll;
}
.outer {
width: 960px;
height: 55px;
background-color: orange;
}
.border {
width: 2px;
height: 55px;
margin-left:50%;
position:absolute;
background-color:black; // will be background-image with width: 960px;
}
.left {
float: left;
width: 400px; //varies
height: 55px;
position:relative;
}
.right {
width:560px; //varies
float: left;
height: 55px;
background-color:green; // will be background-image with width: 960px;
}
-
<!-- Javascript -->
$('.scroll').scrollLeft(/*to position?*/);
I need your help. Maybe a hint is enough. Something I haven't seen...
I want the horizontal scrollbar (class scroll) to dynamically scrollLeft to the beginning of the visible part of the div with class right. Please have a look at the comments in the css-part.
The width of the divs (class: left/right) varies dynamically later on.
So I somehow have to position the scrollbar to the beginning of the right part.
The border is positioned in a middle of the screen always. The right part should be positioned right from the border, the left part left.
Have you got any idea how to do it?
I know that it is tricky to explain. Please ask.
This is my snippet of code.
<!-- HTML -->
<div class="width100">
<div class="scroll">
<div class="outer">
<div class="border"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</div>
</div>
-
<!-- CSS -->
.width {
width:100%;
}
.scroll {
overflow-x: scroll;
}
.outer {
width: 960px;
height: 55px;
background-color: orange;
}
.border {
width: 2px;
height: 55px;
margin-left:50%;
position:absolute;
background-color:black; // will be background-image with width: 960px;
}
.left {
float: left;
width: 400px; //varies
height: 55px;
position:relative;
}
.right {
width:560px; //varies
float: left;
height: 55px;
background-color:green; // will be background-image with width: 960px;
}
-
<!-- Javascript -->
$('.scroll').scrollLeft(/*to position?*/);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
元素上有一个名为 scollLeft 的属性。
它获取或设置元素内容向左滚动的像素数。
对于您的具体问题,如果您想使用 jQuery,此代码片段可能会帮助您:
这是一个 jsFiddle 示例。
There is a property on an element called scollLeft.
It gets or sets the number of pixels that an element's content is scrolled to the left.
For your specific issue, if you want to go with jQuery, this snippet might help you:
Here's a jsFiddle example.