-1
google maps infobox의 콘텐츠 내에있는 div에 배경 이미지를 추가하려고합니다. .css ('배경 이미지')를 변경하는 데 사용하는 함수가 div의 ID를 인식하지 못하기 때문에 문제가 발생합니다. Infobox가 열릴 때 콘텐츠 문자열이 DOM로드되지 않았기 때문일 수 있습니다. 나는 'domready'또는 이와 유사한 것을 듣는 이벤트를 추가해야한다는 것을 알고 있지만, 그것을 구현하는 방법을 정확히 모르겠습니다. 문제의 코드는 다음과 같습니다.Google지도 내 infobox.open에 infobox라는 동적 배경 이미지가 표시됩니다.
var boxContent = var boxContent = "<div id=box><div id=leftside><img id=logo src=" +
logopath + " /><h1>" + number + "<br />" + street +
"<br />" + city + "</h1><h2>" + phone +
"<br /><a target=_blank href=" + website +
">visit website</a></h2></div><div id=menu>" +
"<button id=photo onClick=buttonState(this.id)><img src=infomenu/photoicon.png></button></button>" +
"<button id=comments onClick=buttonState(this.id)><img src=infomenu/commentsicon.png></button>" +
"<button id=games onClick=buttonState(this.id)><img src=infomenu/gamesicon.png></button>" +
"<button id=ed onClick=buttonState(this.id)><img src=infomenu/edicon.png></button>" +
"<button id=stay onClick=buttonState(this.id)><img src=infomenu/stayicon.png></button>" +
"<button id=fly onClick=buttonState(this.id)><img src=infomenu/flyicon.png></button>" +
"<div id=display></div>"
var myOptions = {
content: boxContent,
disableAutoPan: false,
pixelOffset: new google.maps.Size(-400, -173),
closeBoxMargin: "-12px -12px 0px 0px",
closeBoxURL: "close.png",
infoBoxClearance: new google.maps.Size(1, 1),
pane: "floatPane",
enableEventPropagation: false
};
var ib = new InfoBox(myOptions);
google.maps.event.addListener(marker, 'click', function(e) {
map.setZoom(13);
map.setCenter(this.getPosition());
ib.open(map, this, displayphotos(imagepath);
});
function displayphotos(imagepath){
$('#display').css('background-image', 'url(' + imagepath + '1.png)');
}
감사합니다 제프. 나는 원래의 질문을 편집했다. 내 boxContent 변수는 infobox가 열릴 때 boxContent의 스타일을 변경할 수 없으므로 하나의 DIV보다 훨씬 많은 정보를 가지고 있습니다. 나는 내가 필요한 'domready'청취자에 의해 올바른 길을 가고 있다고 생각한 이후로 내 게시물에 간단하게 머물려고 노력했다. 나는 그렇지 않다. 어떤 제안? – stokexx
괜찮습니다. 그냥'jQuery.find()'를 사용하십시오 :'boxContent.find ('# display'). css (/*...*/);' –