popup
개체에 this
을 전달하면 요소 자체를 전달하게됩니다 (귀하의 의도라고 생각합니다). 그러나 요소에는 기본적으로 width
이라는 속성이 없습니다.
아마도 getSize();
을 찾고 계십니까? 그러면 요소의 너비와 높이에 각각 해당하는 두 속성 개체 (x
및 y
)가 반환됩니다. 여기에 새로운 Popup
클래스 코드이며, 참고로 http://jsfiddle.net/g4SmJ/
: 나는 다음과 같은 jsFiddle에 코드를 근사했습니다
, 한번 시도해
var Popup = new Class({
initialize : function(){
},
open : function(tile) {
size = tile.getSize();
console.log(size); // console.log provides a nicer interface for debugging, you can pass objects into it! Use the Chrome Inspector or Firebug to see its output.
alert(size.x);
}
});
에 대응하여 댓글 :
오 위로 나는 돔스의 폭을 경고하려고하지 않았습니다. 죄송합니다. 내가 게시 한 것은 전체 객체의 작은 코드입니다. 폭 실제로 나는이 경우 팝업
밖으로 경고하고 싶었다 타일에 정의 된 멤버였다, 당신은 .open();
에 전화를 전송하는 다음 때, 당신은 함수 호출에 this
을 통과하지만, 당신은 통과되지 않습니다 Tile
개체! 대신, 작성한 inner
요소를 전달했습니다. thusly 히
재 작성 Tile
:
var Tile = new Class({
initialize : function(){
var self = this;
this.inner = new Element(...);
this.inner.addEvent('click', function() {
popup.open(self);
});
}
});
popup'의 인스턴스가'코드를 기입하십시오. –
팝업이 window.addEvent ('domready'...)에 시작되었습니다. 타일로 바뀝니다. 나는 첫 번째 게시물을 업데이 트했습니다! – marius