我有一个多页模板设置。我的主屏幕背景颜色与其他页面不同,但我发现我添加到页面中的某些内容不够长,无法到达页脚,并且我看到在背景和页脚之间为主屏幕设置的默认背景颜色。
有没有一种方法可以在切换到页面之前更改页面的ui页面背景颜色,以便正确地填充空白?
我曾考虑过通过页面的委托来实现:
$(document).delegate("#pageDetail", "pagecreate", function () {
$('.ui-page').css('background-color', '#ECF2FE');
});但当你点击后退按钮时,它就会中断,因为它保留了更改。
有没有一个事件可以用来触发这个更改,这样我就可以为每个页面设置正确的背景颜色--或者有没有一个更简单的方法我没有呢?
谢谢
发布于 2012-08-23 02:25:56
当触发pagecreate事件时,伪页面还没有被赋予.ui-page类,因此按该类进行选择对您没有任何帮助。我建议使用this来选择当前的伪页面:
$(document).delegate("#pageDetail", "pagecreate", function () {
$(this).css('background', '#ECF2FE');//`this` refers to `#pageDetail`
});还要注意,我更新的是background属性,而不是background-color。这是因为jQuery手机使用的渐变背景是在background-image属性下指定的,您不能用background-color覆盖background-image。
这是一个演示:http://jsfiddle.net/WSzq3/ (当您在页面之间单击时,每个pagebeforeshow事件的背景颜色都会发生变化)
https://stackoverflow.com/questions/12077432
复制相似问题