最近做一个小项目,和移动端打交道,遇到了些小问题,应该全是新手向的,勿笑。
1、通过js,可以控制手机屏幕的方向吗?手机的方向是可以获取到的,这个我已经用到了。不过如果是要固定方向呢?比如,我写了一个适合竖屏的网页,有办法让手机在横过来时,仍然显示竖屏吗?锁定网页方向也好,锁定浏览器方向也好,锁定手机方向也好,有可以实现这种显示功能的办法吗?我在网上没有找到。如果通过在网页里加java代码的方式,可以实现吗?
2、有些网页或者应用,在手机旋转的时候,图片会有一个旋转的动画;我做出来的网页,都是转过来之后,先显示原方向的网页(一般会变形),然后跳一下变成我设定的现在方向的网页。这个是通过在转向事件里加入旋转函数做到的吗?还是有比较简单的办法实现?现在我想到的,是用canvas的关键帧动画来做这个旋转函数,不过没尝试,不知道可行性,也不知道现在通用的方法是什么。
3、如果只是控制网页元素布局,可以用php实现吗?如果可以,哪个比较好?
4、这个可能更傻了。。。我现在的网页,所有元素的位置和大小,都是直接根据document.body.offsetWidth这种方式算出来,然后在每一次旋转时重新计算的(因为还要考虑一下不同大小的屏幕)。感觉上这应该不是个合理的方法。正常的解决方式应该是什么样的?
5、我在网页中放图片,一般会先放个<div>把图片包起来,然后通过控制<div>的位置来控制图片的位置。但是在保持图像比例上出了些问题。我开始的做法是,把div设置得宽一些,在img标签中设定height="100%",这样图片会在宽度上自动按比例适应。不转动的话没问题,以竖直状态进入网页,再转成横向再转回来都没有问题,但是如果以横向进入网页,转回竖直方向时,图像就会按照填充div(或者是更长,我没有仔细测试)的方式进行拉伸,比例也保持不了。后来我就让图片填充div,然后在转动方向的js代码中,按照图片比例计算div的长宽,这样倒是可以让两个方向都显示正常了。。。但是我感觉这种方式非常笨,而且要把图片的长宽写死(或者预先载入成Image对象可以不用写死?刚想到的,没有尝试)。请问这个一般的处理方法是怎么样的?
我用的移动端是ipad,浏览器safari。
谢谢~
--
修改:baddif FROM 116.247.98.*
FROM 116.247.98.*