嗨朋友我是jQuery mobile的新手,并使用它开发网站。我创建了一个函数来控制页面高度,当窗口高度工作正常时,但是当我跳到其他页面时它停止工作并给出错误
TypeError: $.mobile.activePage is undefined
我不知道metter需要你帮助解决这个问题
请帮帮我们。您可以查看我的代码
已使用的图书馆
<script src="js/jquery-1.10.2.min.js" type="text/javascript" language="javascript"></script>
<script src="js/jquery.mobile-1.4.0.min.js" type="text/javascript" language="javascript"></script>
<script src="js/modernizr-2.6.1.min.js" type="text/javascript" language="javascript"></script>
<script src="js/script.js" type="text/javascript" language="javascript"></script>
SCRIPT
var header_height = $.mobile.activePage.children('[data-role="header"]').height(),
footer_height = $.mobile.activePage.children('[data-role="footer"]').height(),
window_height = $(this).height(),
content_height = window_height - header_height - footer_height;
$.mobile.activePage.children('[data-role="content"]').children('.contentMain').height(content_height-130).css('overflow','auto');
$('#left-menu').height(window_height).css('overflow','auto');
请帮助我们......提前致谢
答案 0 :(得分:1)
正如Jai所说,
对于jQuery mobile,$(document).ready()和设备就绪不一样。
加载jQuery需要比文档更多的时间。
你应该这样做:
$(function() {
document.addEventListener('deviceready', onDeviceReady, false);
//for testing in Chrome browser uncomment
//onDeviceReady(); });
并且
function onDeviceReady() {
var header_height = $.mobile.activePage.children('[data-role="header"]').height(),
footer_height = $.mobile.activePage.children('[data-role="footer"]').height(),
window_height = $(this).height(),
content_height = window_height - header_height - footer_height;
$.mobile.activePage.children('[data-role="content"]').children('.contentMain').height(content_height-130).css('overflow','auto');
$('#left-menu').height(window_height).css('overflow','auto');
}
此外,不推荐使用activePage。 你可以用
$( ".selector" ).pagecontainer( "getActivePage" );
来源:http://api.jquerymobile.com/pagecontainer/#method-getActivePage
答案 1 :(得分:1)
你可以获得id&amp;访问了jquery页面,如下所示
$(document).live('pageshow', function (event, ui) {
var pageId = "";
try{
pageId = $.mobile.activePage.attr('id'); //Get the page id
} catch (e) { }
if (typeof (pageId) == 'undefined' && pageId == "")
pageId = event.target.id;
}