2013-09-05 3 views
0

Сценарий:Как получить расстояние, перемещаемое сплиттером?

Я использую Telerik: RadRotator и разветвитель. У меня есть 3 пользовательских элемента управления на странице, разделенной разделителем. У меня есть этот telerik: RadRotator и вертикальный сплиттер перемещаются горизонтально на один элемент управления.

Вопрос

Теперь я хочу, чтобы изменить размер 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, если сплиттер изменяется на более высокую скорость.

Поскольку я не могу получить точное расстояние, перемещаемое сплиттером при его изменении.

Итак, пожалуйста, может ли кто-нибудь помочь мне узнать, как получить точную разницу в расстоянии, перемещенном сплиттером?

Примечание: Я хочу написать это Jquery на событие OnClientResizing не на OnClientResized.

ответ

0

Если вы используете событие, которое уволено много раз, вы можете получить состояние гонки, и все может сломаться. Используйте событие, которое срабатывает при завершении изменения размера. В противном случае взгляните сюда на подход, чтобы стрелять только один обработчик: https://stackoverflow.com/a/668185/812369.

Кроме того, RadRotator не поддерживает изменения размеров на клиенте, поэтому все будет работать не так, как ожидалось, я думаю. Взгляните сюда на подход, который может работать, когда у вас есть необходимые размеры: http://www.telerik.com/support/kb/aspnet-ajax/rotator/setting-radrotator-s-size-in-percent.aspx.