1

innerHTML を使用して、隠し (display:none) div のセットからコンテンツを取得して、メインの「display」div に表示しようとしています。その部分は問題ありません。しかし、updateScrollBars メソッドを呼び出した後でも、innerHTML を使用して「display」div のコンテンツを変更した瞬間に flexcroll が読み込まれないようです。

問題のコードは次のとおりです。

function switchdis(IDS) {       
    caredet = document.getElementById('caredet');
    carednew = document.getElementById(IDS).innerHTML;
    caredet.innerHTML = carednew;
    fleXenv.updateScrollBars();
}

何が問題なのかよくわかりません。関数が呼び出されたように思えますが(マウスホイールを使用してスクロールできます)、スクロールバーがまったく表示されません。記録として、私のカスタム スクロールバーは他のページでも問題なく動作します。別のページでは、div を非表示および非表示にする方法を使用して、ページ内のコンテンツを変更しました。updateScrollBars() メソッドは、div を再表示した後に呼び出すとそこで機能します。

しかし、どういうわけかinnerHTMLではうまくいかないようです。誰かが理由を知っていますか?

4

1 に答える 1

1

この問題を解決しました。

flexcroll が適用された div の innerHTML が更新されたことに気付きました。誰かが同様の問題を抱えている場合は、それをしないでください。代わりに、flexcroll マスター div 内に別の div を作成し、その div の innerHTML を変更します。

さらに、flexcroll スクロールバーを更新し、必要に応じて、その内部 div の innerHTML が変更されるたびにスクロール位置を一番上に移動することを忘れないでください。

于 2012-05-24T04:49:52.143 に答える