/**//*
*작성자: Daben
*날짜: 2009-10-12
*버전: 1.0
*/
Ext.onReady(function() {
Ext.get("btn").on("click", function() {
Ext .fly("div1").addClass("red").setWidth(100, {
duration: 3,
easing: 'elasticIn',
callback: function() {Ext.Msg. 경고("정보", "div1의 너비가 100으로 설정되었습니다.") },
범위:
})
});
위의 코드를 간략하게 설명합니다. 기간은 애니메이션 시간을 지정하며 여기서는 3초입니다. easing은 유효한 Ext.lib.Easing 값이어야 하는 애니메이션 방법을 설정하는 데 사용됩니다. 도움말 문서. 유효한 값, 콜백, 애니메이션이 완료될 때 호출되는 함수, 범위는 콜백 함수의 범위를 지정합니다.
Element에는 get 및 fly 메서드를 사용하는 것 외에도 매우 강력한 메서드인 select 메서드가 있습니다. 이는 선택기를 기반으로 Elements 배열을 가져올 수 있습니다(실제로 CompositeElementLite 또는 CompositeElement 개체를 반환합니다. 두 클래스 내부적으로 Element 객체의 배열을 유지하는 js의 상속 관계입니다. 반환된 객체에 Element 메서드를 사용하면 실제로 배열의 각 Element 객체에 대해 메서드를 호출합니다. 이 메소드는 Ext.select로 축약될 수 있습니다. 매개변수로 선택기가 있습니다. 예를 들어 Ext.select("p")는 모든 p 태그를 선택합니다. red")는 CSS 클래스가 red인 모든 태그에 대해 "div.foo:nth-child(odd)[@foo=bar].bar:first"와 같이 선택기를 조합하여 사용할 수 있습니다. 선택자를 잘 사용하면 요소를 제어하는 데 큰 편리함을 얻을 수 있습니다. 선택자에 대한 자세한 내용은 Ext.DomQuery 클래스의 문서를 참조하세요.
Element의 쿼리 메소드는 Dom 노드의 컬렉션을 반환하기 위해 select와 유사한 메소드를 사용합니다. 그러나 Ext.query는 Ext.Element.query의 약자가 아니라 Ext.DomQuery의 약자라는 점에 유의해야 합니다. 방법을 선택하세요. Dom 연락처는 get 메소드를 통해 Element 객체를 얻을 수 있고, Element 객체는 dom 속성을 통해 Dom 노드를 얻을 수 있으며, 필요에 따라 쉽게 변환할 수 있습니다.
마지막으로 Element의 addListener 메소드에 대해 이야기하겠습니다. 이 메소드는 on으로 줄여서 Element 객체에 대한 이벤트를 등록하는 데 사용됩니다. on("click", function(){ }). 이 방법을 통해 한 번에 여러 이벤트를 등록할 수도 있습니다. 예:
el.on({
'클릭' : {
fn: this.onClick,
scope: this,
delay: 100
},
'mouseover' : {
fn: this.onMouseOver,
범위: this
},
'mouseout' : {
fn: this.onMouseOut,
scope: this
}
} );
delay는 이벤트가 발생한 후 이벤트 처리 기능을 실행하는 시간을 나타내며 단위는 밀리초입니다. 간결하게 작성하는 방법도 있습니다:
el.on({
'click' : this.onClick,
'mouseover' : this.onMouseOver,
'mouseout' : this.onMouseOut,
scope: this
});