Googleマップ内にjQueryアコーディオンを表示しようとしていますが、機能していますが、アコーディオンメニューから離れてクリックすると、再度開いたときにアコーディオンとして機能しません。自作のアコーディオンを一から作らずに直す方法に困っています。それを適切に機能させる方法について何か助けはありますか?
http://mulibraries.missouri.edu/Reference/virtour/demo_fs_mobile.php
Googleマップ内にjQueryアコーディオンを表示しようとしていますが、機能していますが、アコーディオンメニューから離れてクリックすると、再度開いたときにアコーディオンとして機能しません。自作のアコーディオンを一から作らずに直す方法に困っています。それを適切に機能させる方法について何か助けはありますか?
http://mulibraries.missouri.edu/Reference/virtour/demo_fs_mobile.php
これらの要素もイベントで再度作成する必要があります。
を使用してコードを改善しました。jQuery
これを試してください:
function HomeControl(controlDiv, map) {
var menu_btn = $("<div>");
menu_btn.attr('id', 'menu_btn');
menu_btn.attr('title', 'Click to show the Map Navigation');
menu_btn.html('<b>Menu</b>');
menu_btn.css({
backgroundColor: 'white',
cursor: 'pointer',
textAlign: 'center',
});
$(menu_btn).click(function() {
$(controlDiv).empty();
menu_state = 1;
var menu_nav = $("<div>");
menu_nav.attr('id', 'menu_nav');
menu_nav.attr('title', 'Click Map to close Menu');
menu_nav.css({
backgroundColor: 'white',
cursor: 'pointer',
textAlign: 'center',
});
var accordion = $('<div id="accordion"><h3><a href="#">Change Library</a></h3> <div>Ellis<br>Engineering<br>Journalism</div><h3><a href="#">Change Floor</a></h3> <div>Ground Floor<br>First Floor<br>Second Floor<br>Third Floor<br>Fourth Floor<br></div> <h3><a href="#">Change Map</a></h3> <div>Virtual Tour<br>Video Tour<br>Study Rooms<br>Computers</div></div>');
$(menu_nav).append(accordion);
$(controlDiv).append(menu_nav);
$(accordion).accordion({active: 1, autoHeight: false});
});
$(controlDiv).empty();
$(controlDiv).append($(menu_btn).clone(true));
google.maps.event.addDomListener(map, 'click', function() {
menu_state = 0;
$(controlDiv).empty();
$(controlDiv).append($(menu_btn).clone(true));
});
}
お役に立てれば。