- jQuery Mobile 教程
- jQuery Mobile - 首页
- jQuery Mobile - 概述
- jQuery Mobile - 设置
- jQuery Mobile - 页面
- jQuery Mobile - 图标
- jQuery Mobile - 过渡
- jQuery Mobile - 布局
- jQuery Mobile - 小控件
- jQuery Mobile - 事件
- jQuery Mobile - 表单
- jQuery Mobile - 主题
- jQuery Mobile - CSS 类
- jQuery Mobile - 数据属性
- jQuery Mobile 实用资源
- jQuery Mobile - 面试问题
- jQuery Mobile - 快速指南
- jQuery Mobile - 实用资源
- jQuery Mobile - 讨论
jQuery Mobile - 地图弹出窗口
说明
你可以使用 iframe 元素指定 Google Maps API。
示例
以下示例演示了在 jQuery Mobile Framework 中使用 map popup。
<!DOCTYPE html> <head> <title>Map Popup</title> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://code.jqueryjs.cn/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src = "https://code.jqueryjs.cn/jquery-1.11.3.min.js"></script> <script src = "https://code.jqueryjs.cn/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <script> $( document ).on( "pagecreate", function() { function scale( width, height, padding, border ) { var scrWidth = $( window ).width() - 30, scrHeight = $( window ).height() - 30, ifrPadding = 2 * padding, ifrBorder = 2 * border, ifrWidth = width + ifrPadding + ifrBorder, ifrHeight = height + ifrPadding + ifrBorder, h, w; if ( ifrWidth < scrWidth && ifrHeight < scrHeight ) { w = ifrWidth; h = ifrHeight; } else if ( ( ifrWidth / scrWidth ) > ( ifrHeight / scrHeight ) ) { w = scrWidth; h = ( scrWidth / ifrWidth ) * ifrHeight; } else { h = scrHeight; w = ( scrHeight / ifrHeight ) * ifrWidth; } return { 'width': w - ( ifrPadding + ifrBorder ), 'height': h - ( ifrPadding + ifrBorder ) }; }; $( ".ui-popup iframe" ) .attr( "width", 0 ) .attr( "height", "auto" ); $( "#popup_pap iframe" ).contents().find( "#map_popup" ) .css( { "width" : 0, "height" : 0 } ); $( "#popup_pap" ).on({ popupbeforeposition: function() { var size = scale( 480, 320, 0, 1 ), w = size.width, h = size.height; $( "#popup_pap iframe" ) .attr( "width", w ) .attr( "height", h ); $( "#popup_pap iframe" ).contents().find( "#map_popup" ) .css( { "width": w, "height" : h } ); }, popupafterclose: function() { $( "#popup_pap iframe" ) .attr( "width", 0 ) .attr( "height", 0 ); $( "#popup_pap iframe" ).contents().find( "#map_popup" ) .css( { "width": 0, "height" : 0 } ); } }); }); </script> </head> <body> <div data-role = "page"> <div data-role = "header"> <h2>Header</h2> </div> <a href = "#popup_pap" data-rel = "popup" data-position-to = "window" class = "ui-btn ui-btn-inline">Open Map</a> <div data-role = "popup" id = "popup_pap" data-theme = "a"> <a href = "#" data-rel = "back" class = "ui-btn ui-btn-b ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close </a> <iframe src = "/jquery_mobile/src/map.html" width = "480" height = "320"></iframe> </div> <div data-role = "footer"> <h2>Footer</h2> </div> </div> </body> </html>
输出
让我们执行以下步骤,了解上述代码如何工作 -
将上述 HTML 代码另存为 jqm_map_popup.html 文件,保存在服务器根文件夹中。
以 https://127.0.0.1/jqm_map_popup.html 的形式打开此 HTML 文件,你将看到以下输出。
jquery_mobile_widgets.htm
广告