Тема: jQuery UI Layout
Показать сообщение отдельно
  #9 (permalink)  
Старый 25.05.2009, 22:05
Новичок на форуме
Отправить личное сообщение для Amiga Посмотреть профиль Найти все сообщения от Amiga
 
Регистрация: 24.05.2009
Сообщений: 8

Разобрался в вопросе, переговорив с автором. Может кому поможет...
Оказывается панели layout должны уже существовать с соответствующими присвоенными классами до инициализации, напр. в виде div'ов или iframe и др. Они не создаются автоматически при инициализации. Вот такой код работает:
<html> 
<head> 
<script src="js/jquery.js"></script> 
<script src="js/jquery.layout.js"></script> 
<script src="js/jquery.layout.state.js"></script>
<script src="js/complex.js"></script> 
 
<script> 
    $(document).ready(function () { 
        $('body').layout({ applyDefaultStyles: true
        						 }); 
    }); 
</script> 
</head> 
<body> 
<div class="ui-layout-center">Center 
<div id="screen">
</div>
</div> 
<div class="ui-layout-north">North</div> 
<div class="ui-layout-south">South</div> 
<div class="ui-layout-east">East</div> 
<div class="ui-layout-west">West</div> 
<script>
// init instance var 
var myLayout = $('body').layout(); 

var state = myLayout.state; 

// current dimensions  
var westCurrentSize      = state.west.size; 

//debugData( myLayout.state.west, 'West State' ); 
document.getElementById('screen').innerHTML = westCurrentSize;
</script>

</body> 
</html>

Для отладки есть удобная функция в complex.js, которая показывает состояние всех объектов и их параметров
debugData( object[.branch[.branch]] [, dialog-title] );
напр.
debugData( myLayout.state.west, 'West State' );
debugData( myLayout.state, 'ALLStates' );

Последний раз редактировалось Amiga, 25.05.2009 в 22:11.
Ответить с цитированием