利用js自动控制图片调整大小,按照预定义的比例进行等比缩放图片。
在商品详情等情景比较合适,这样不会导致图片过度变形影响体验效果。
$(function(){ /* 图片不完全按比例自动缩小*/ $('.detail img').each(function(){ var x = 400; //填入目标图片宽度 var y = 240; //填入目标图片高度 var w=$(this).width(), h=$(this).height();//获取图片宽度、高度 console.log(w,h) if (w > x) { //图片宽度大于目标宽度时 var w_original=w, h_original=h; h = h * (x / w); //根据目标宽度按比例算出高度 w = x; //宽度等于预定宽度 if (h < y) { //如果按比例缩小后的高度小于预定高度时 w = w_original * (y / h_original); //按目标高度重新计算宽度 h = y; //高度等于预定高度 } } $(this).attr({width:w,height:h}); }); });
组合下面的使用就妙不可言了:
窗口可视区域宽度: document.documentElement.clientWidth || document.body.clientWidth;
窗口可视区域高度: document.documentElement.clientHeight || document.body.clientHeight;
窗口可视区域宽度+边线和滚动条: document.body.offsetWidth ;
窗口可视区域高度+边线和滚动条: document.body.offsetHeight ;
实际内容的宽度: document.body.scrollWidth;
实际内容的高度: document.body.scrollHeight;
滚动条下拉被卷起来的距离:document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
滚动条侧拉被卷起来的距离:document.body.scrollLeft || document.documentElement.scrollLeft ;
网页正文部分上:window.screenTop;
网页正文部分左:window.screenLeft;
元素的宽度:obj.offsetWidth;
元素的高度:obj.offsetHeight;
相对于父元素的上位移:obj.offsetTop;(在元素的包含元素不含滚动条的情况下)
相对于父元素的左位移:obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)