#Accordion
div( ).summary_wrapper
内の iFrame( desktopIframe
) 内にdiv( ) 内に ( ) があり.desktop_summary_column_div
ます。折りたたまれたアコーディオンの高さは、div( ) より高くありません.summary_wrapper
。アコーディオン項目を展開すると、div( .summary_wrapper
) の下部 (iPad 画面の下部でもあります) を超えて展開されます。下にスクロールしたい場合、iPadは画面全体を移動/スクロールしたいと考えています。これは、含まれている div が指のドラッグで移動することを意味します。したがって、これにより、アコーディオンのスクロールが役に立たなくなります。
iPadのdiv内でスクロールできるようにアコーディオンをセットアップする方法はありますか?
これが私のアコーディオンのセットアップです。
$(function() {
$( "#accordion" ).accordion({
heightStyle: "content",
collapsible: true,
active: false,
// autoheight: true,
animated: 'easeslide'
});
var is_touch_device = 'ontouchstart' in document.documentElement;
if(is_touch_device) {
$(this).addClass('panel');
$(this).addClass('overflow');
}
});
含まれる要素の例を次に示します。
<td class="desktop_summary_column">
<div class="desktop_summary_column_div" style="display: block;">
<iframe id="desktopIframe" name="desktopIframe" width="100%" height="99%" frameborder="0"></iframe>
..........
<body>
<div class="overview_wrapper">
<div class="summary_wrapper">
<div id="accordion" class="ui-accordion ui-widget ui-helper-reset" role="tablist">
<div class='desktop_summary_text'>
...ACCORDION ITEM with sub items...
</div>
<div class='desktop_summary_text'>
...ACCORDION ITEM with sub items...
</div>
<div class='desktop_summary_text'>
...ACCORDION ITEM with sub items...
</div>
</div>
</div>
</div>
</body>
..........
</div>
.desktop_summary_text
アコーディオンの一番内側のクラスでは、次のスタイルを設定しています。
.panel
{
width: 100%;
max-height: 300px; /* fixed height of div */
-webkit-overflow-scrolling: touch; /* allow touch scrolling in webkit browsers */
}
.panel > * {
-webkit-transform: translateZ(0px);
}
.overflow {
/*overflow: scroll;*/ /*set overflow to scroll for desktop browsers*/
/*overflow-x: hidden; */
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
-webkit-transform: translate3d(0,0,0);
}
.accordion{
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
申し訳ありませんが、かなりの負荷がかかっていることは承知しています...しかし、助けてくれる数人にとっては理にかなっているかもしれません。