我有一个很大的Iscroll页面。我无法修复具有位置的元素:如果它在Iscroll中,则修复。我想这与Iscroll的过渡有关。有没有人面对这个?
我想修复“FIXTHIS”元素。但不幸的是,它随着内容滚动。
JS FIDDLE:https://jsfiddle.net/10amw389/1/
<div id="wrapper">
<div id="scroller">
<div class="fixthis">FIX THIS</div>
<ul>
<li><a href="javascript:myScroll.scrollToElement(document.querySelector('#scroller li:nth-child(10)'))">Scroll to element 10</a></li>
<li>Pretty row 2</li>
<li>Pretty row 3</li>
<li>Pretty row 4</li>
<li>Pretty row 5</li>
<li>Pretty row 6</li>
<li>Pretty row 7</li>
<li>Pretty row 8</li>
<li>Pretty row 9</li>
<li><a href="javascript:myScroll.scrollToElement(document.querySelector('#scroller li:nth-child(25)'), null, null, true)">Center element 25 to screen</a></li>
<li>Pretty row 11</li>
<li>Pretty row 12</li>
<li>Pretty row 13</li>
<li>Pretty row 14</li>
<li>Pretty row 15</li>
</ul>
</div>
JS
var myScroll;
function loaded () {
myScroll = new IScroll('#wrapper', { mouseWheel: true, click: true, HWCompositing: false});
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
loaded();
CSS
.fixthis {
position: fixed;
width: 100%;
text-align: center;
padding: 25px;
background: #009BFF;
color: #FFFFFF;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
-ms-touch-action: none;
}
body,ul,li {
padding: 0;
margin: 0;
border: 0;
}
body {
font-size: 12px;
font-family: ubuntu, helvetica, arial;
overflow: hidden; /* this is important to prevent the whole page to bounce */
}
#wrapper {
position: absolute;
z-index: 1;
top: 45px;
bottom: 48px;
left: 0;
width: 100%;
background: #ccc;
overflow: hidden;
}
#scroller {
position: absolute;
z-index: 1;
-webkit-tap-highlight-color: rgba(0,0,0,0);
width: 100%;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
-o-text-size-adjust: none;
text-size-adjust: none;
}
#scroller ul {
list-style: none;
padding: 0;
margin: 0;
width: 100%;
text-align: left;
}
#scroller li {
padding: 0 10px;
height: 40px;
line-height: 40px;
border-bottom: 1px solid #ccc;
border-top: 1px solid #fff;
background-color: #fafafa;
font-size: 14px;
}
任何指针都会有所帮助
答案 0 :(得分:0)
请在滚动div结束后将fixthis移动到右边,并将z-index设置为高于你想要的值。