jQuery Mobile を使用してモバイル Web サイトを構築しています。あるページには、div に表示するテキストがたくさんあります。iScroll 4 の簡単な例に従ってコーディングしました。
Chrome ブラウザでは正しく表示されますが、モバイル サファリでテストすると、テキストを少し下にスワイプできますが、下にスクロールするのではなく、元に戻ります。
HTMLマークアップは次のとおりです。
<div data-role="content">
<div class="text-content-wrapper">
<div id="scroll-wrapper">
<ul>
<li>Content</li>
<li>Content</li>
<li>Content</li>
<li>Content</li>
</ul>
</div>
</div>
CSSは次のとおりです。
.text-content-wrapper {
width: 80%;
height: 240px;
position: absolute;
left: 35px;
top: 65px;
overflow: auto;
padding: 10px 0;
background-color: white;
opacity: 0.8;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
z-index: 1;
}
#scroll-wrapper ul{
position: absolute;
z-index: 1;
width: 100%;
list-style: none;
text-align: left;
height: 360px;
}
position: absolute を #scroll-wrapper に移動すると、クロムでも機能しません。
iScroll を使用します。
var myScroll1;
function loaded() {
myScroll1 = new iScroll('scroll-wrapper');
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);