0

シナリオ:

私は telerik:RadRotator とスプリッターを使用しています。スプリッターで区切られたページに 3 つのユーザー コントロールがあります。私はこの telerik:RadRotator を持っており、垂直スプリッターは 1 つのコントロールで水平方向に移動します。

質問

ここで、スプリッターの移動に合わせて RadRotator のサイズを変更したいと考えています。私はこのコードでそれを達成しました:

function resizing(sender, Args) {
    var rotator = $jQuery(".rrRelativeWrapper");
    var oldRotatorWidth = rotator[0].style.width;
    var width = parseInt(oldRotatorWidth.substr(0, (oldRotatorWidth.indexOf('px') + 1)));
    var newRotatorwidth = (width + (sender._width - width)) - 50;
    rotator[0].style.width = newRotatorwidth.toString() + "px";
}

しかし問題は、差を調整するために追加した「-50」です。スプリッターのサイズを高速に変更すると、jquery が壊れます。

サイズが変更されたときにスプリッターによって移動された正確な距離を取得できないためです。

それで、スプリッターによって移動された距離の正確な違いを得る方法を教えてください。

注: OnClientResized ではなく、イベントOnClientResizingでこの Jquery を書きたいと思います

4

1 に答える 1

0

何度も発生するイベントを使用すると、競合状態になり、問題が発生する可能性があります。サイズ変更が完了したときに発生するイベントを使用します。それ以外の場合は、ハンドラーを 1 回だけ起動する方法については、https ://stackoverflow.com/a/668185/812369 を参照してください。

また、RadRotator はクライアント上での次元変更をサポートしていないため、期待どおりに動作しないと思います。必要な寸法を取得したら機能するアプローチについては、こちらをご覧ください: http://www.telerik.com/support/kb/aspnet-ajax/rotator/setting-radrotator-s-size-in-percent.aspx .

于 2013-09-19T09:48:52.960 に答える