Rumah > Soal Jawab > teks badan
现在思路是获取当前的屏幕高宽做比较 若H>W则图片正常显示 若H<W则图片旋转90度 使用SetInterval不断重复执行这个函数 但效果并未达到......
$(document).ready(function (){
var w = window.innerWidth;
var h = window.innerHeight;
function img () {
$("modal-tm-img").removeClass();
if (h>w) {
$("#modal-tm-img").addClass("modal-tm-img-s");
}
else{
$("#modal-tm-img").addClass("modal-tm-img-h");
};
}
setInterval(img,50)
});
PHP中文网2017-04-10 16:59:30
把innerHeight和innerWidth赋值给变量本身就相当于缓存了吧,再扔到函数外边感觉即使在变也会有误差……建议如果是js来做就直接写到事件监听上好了,另外用css来实现应该也是可以的,加个宽高比的@media断点,里边加个css3的2D旋转应该就能搞定了(如果不要求动态效果的话)……
如果要求上动态旋转的效果,个人觉得可以用事件监听配合css3的过渡来做。
ringa_lee2017-04-10 16:59:30
你这个只是一直执行img函数,而w和h都是在img外获取的,等于只获取一次
另外如果想达到题目中的效果的话,建议用javascript中已经有了的设备事件
JavaScript 事件——“事件类型”中“设备事件”和“触摸与手势事件”的注意要点