我搜索了一整天,但找不到我想做的事情的解决方案。我知道这个标题有很多问题,但没有一个对我有用。
我想做的是移动设备的触摸滚动。
这是我的html:
<body>
<div id="slider_container">
<div class="wrapper">
<span>Image</span>
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
最少有 2 个包含图像的跨度,最多有 10 个包含图像的跨度。会有一些php代码和跨度数会根据用户上传的照片而变化。
这是我的CSS代码:
body
{
width:100%;
overflow-x:hidden;
}
#slider_container
{
width:100%;
height:320px;
overflow: scroll;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
.wrapper
{
position:absolute;
height:320px;
}
.wrapper img
{
max-width:310px;
max-height:310px;
margin-right:5px;
float:left;
}
Run Code Online (Sandbox Code Playgroud)
我想要的是给 .wrapper 自动宽度并溢出到 #slider_container 和 body 之外。
我希望我能说清楚。
感谢您的所有回答...
您必须使用 JavaScript 来测量内容,然后相应地设置包装器的宽度。像这样的东西:
var spans = document.querySelectorAll('.wrapper span');
var width = 0;
for(var i=0; i<spans.length; i++) {
width += spans[i].offsetWidth + 5; // + 5 for the margins
}
document.querySelector('.wrapper').style.width = width + 'px';
Run Code Online (Sandbox Code Playgroud)
多个滑块的替代代码:
var wrappers = document.querySelectorAll('.wrapper');
var width;
for(var i=0; i<wrappers.length; i++) {
var spans = wrappers[i].querySelectorAll('span');
width = 0;
for(var j=0; j<spans.length; j++) {
width += spans[j].offsetWidth + 5; // + 5 for the margins
}
wrappers[i].style.width = width + 'px';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8834 次 |
| 最近记录: |