我正在为用户开发一个统计面板,其中显示的图像是带宽使用统计(从一天开始,从 2 天开始等)。我打算只使用带有框架的 php,但我希望有一个更动态的设计,以便图像和设计可以适合用户屏幕尺寸,所以我尝试使用 JQuery 来询问用户分辨率然后生成使用 php 的确切图像。
Javascript 读取屏幕大小 (imgsize()) 并将值传递给 php 脚本 (stats_generatemain(tipo))。php 脚本生成图像,然后 Javascript 重新加载图像 div 容器 (#mstats) 以显示新的 php 生成图像。
这是一个好方法吗?你会用另一种方式吗?
非常感谢。
<script>
$(document).ready(function () {
$.ajaxSetup({
cache: false
});
function imgsize() {
var myWidth = screen.availWidth;
var myHeight = screen.availHeight;
myRatio = myWidth / myHeight;
myWidth = myWidth - 504;
myHeight = myWidth / myRatio;
var dim = new Array(2);
dim[0] = myWidth;
dim[1] = myHeight;
return dim;
}
function mstats_resize_start() {
var dim = imgsize();
$('#mstats').width(dim[0]).height(430);
}
function stats_generatemain(tipo) {
if(tipo==''){tipo=1;}
else{tipo=parseInt(tipo);}
var dim = imgsize();
$.ajax({
url: 'stats_generatemain.php',
type: 'get',
data: {imsi: '214290000000003',tipo: tipo, w: dim[0], h: 430},
beforeSend: function(){
$("#mstats").hide();
$('#mloading').show();
},
success: function(){
var href = "./TEMP/trafico-214290000000003-main.jpg?" + Math.random();
$("#mstats").attr("src", href);
},
complete: function(){
$('#mloading').hide();
$("#mstats").show();
}
});
}
stats_generatemain(1);
$("a.link").live('click', function (e) {
e.preventDefault();
var tipo = this.href.split(/=/)[1];
stats_generatemain(tipo);
});
$('li > a').click(function () {
$('li').removeClass();
$(this).parent().addClass('active');
});
jQuery.event.add(window, "load", mstats_resize_start);
});
</script>