javascript 求助一个简单问题,有关html中图片排版,高手进来看看,急。。。
以下是一部分代码:<scripttype="text/javascript"charset="utf-8">varnow=newDate();$.getJSON("/fi...
以下是一部分代码:
<script type="text/javascript" charset="utf-8">
var now = new Date();
$.getJSON("/files?"+ now.toString(),
function(data){
var shadow = false;
$.each(data, function(i,item){
var trclass='';
if (shadow)
trclass= " class='shadow'";
encodeName = encodeURI(item.name).replace("'", "'");
$("<tr" + trclass + "> <td > <a href='/files/" + encodeName + "' class='file'> <img width='100' height='100' src = '/files/" + encodeName + "' > </a> </td> " + "</tr>").appendTo("#filelist");
shadow = !shadow;
});
});
</script>
/files是服务器中的图片资源目录。
上面生成的页面是一个表格,每个单元格里放一张图片。
我现在的需求是:每个单元格放4张图片。最好图片能根据原图大小,调整宽高比。(效果类似“百度图片”的搜索结果)。
怎么改呢。
最好解释下各个js语句的意思。本人js基础为0。我不是写网页的,只是最近项目需要,只好来求教下。
我靠,还有一个回答呢,本来还有一个的,草。。百度搞妹啊。。 展开
<script type="text/javascript" charset="utf-8">
var now = new Date();
$.getJSON("/files?"+ now.toString(),
function(data){
var shadow = false;
$.each(data, function(i,item){
var trclass='';
if (shadow)
trclass= " class='shadow'";
encodeName = encodeURI(item.name).replace("'", "'");
$("<tr" + trclass + "> <td > <a href='/files/" + encodeName + "' class='file'> <img width='100' height='100' src = '/files/" + encodeName + "' > </a> </td> " + "</tr>").appendTo("#filelist");
shadow = !shadow;
});
});
</script>
/files是服务器中的图片资源目录。
上面生成的页面是一个表格,每个单元格里放一张图片。
我现在的需求是:每个单元格放4张图片。最好图片能根据原图大小,调整宽高比。(效果类似“百度图片”的搜索结果)。
怎么改呢。
最好解释下各个js语句的意思。本人js基础为0。我不是写网页的,只是最近项目需要,只好来求教下。
我靠,还有一个回答呢,本来还有一个的,草。。百度搞妹啊。。 展开
1个回答
展开全部
首先,这个不是单纯的js,而是JQuery,你要想深入了解,先学习js 再研究下JQuery吧。
下面来解释下一下代码。
var now = new Date();//创建时间对象
然后看下面的代码,从最外层看就是一个getJSON()方法;也就是从服务器获取json对象,具体使用方法可以查看给你提供的参考资料
"/files?"+ now.toString(),这里是getJSON()方法的第一个参数就是向服务器发送请求的地址,从而获取你的图片数据
然后的代码就是一整个函数,你可以理解为回调函数,就是从服务器获取数据后进行的处理方法。
function(data){//data获取的数据
var shadow = false;//定义变量,控制样式(根据下面使用判断出来的)
$.each(data, function(i,item){//这个就是一个循环遍历了
var trclass='';//变量,tr也就是table行的css样式
if (shadow)//如果为真改变样式,也就是下一句trclass 值 trclass= " class='shadow'";//这里的shadow应该在css文件中定义
encodeName = encodeURI(item.name).replace("'", "'");//名称处理
//下面一整段都是在拼成table的一行,也就是一个记录显示一行<a href为超链接,<img 为图片
//这些都是html标签很简单,不明白可以查查或者干脆吧下面alter出来
$("<tr" + trclass + "> <td > <a href='/files/" + encodeName + "' class='file'> <img width='100' height='100' src = '/files/" + encodeName + "' > </a> </td> " + "</tr>").appendTo("#filelist");
shadow = !shadow;//这里就是控制样式的方法,就是隔一行变一个样式
});
}
按照你的要求就要在遍历的时候把4个数据拼到一行里,应用一个全局变量,记下循环数,改下拼串的方法。
下面来解释下一下代码。
var now = new Date();//创建时间对象
然后看下面的代码,从最外层看就是一个getJSON()方法;也就是从服务器获取json对象,具体使用方法可以查看给你提供的参考资料
"/files?"+ now.toString(),这里是getJSON()方法的第一个参数就是向服务器发送请求的地址,从而获取你的图片数据
然后的代码就是一整个函数,你可以理解为回调函数,就是从服务器获取数据后进行的处理方法。
function(data){//data获取的数据
var shadow = false;//定义变量,控制样式(根据下面使用判断出来的)
$.each(data, function(i,item){//这个就是一个循环遍历了
var trclass='';//变量,tr也就是table行的css样式
if (shadow)//如果为真改变样式,也就是下一句trclass 值 trclass= " class='shadow'";//这里的shadow应该在css文件中定义
encodeName = encodeURI(item.name).replace("'", "'");//名称处理
//下面一整段都是在拼成table的一行,也就是一个记录显示一行<a href为超链接,<img 为图片
//这些都是html标签很简单,不明白可以查查或者干脆吧下面alter出来
$("<tr" + trclass + "> <td > <a href='/files/" + encodeName + "' class='file'> <img width='100' height='100' src = '/files/" + encodeName + "' > </a> </td> " + "</tr>").appendTo("#filelist");
shadow = !shadow;//这里就是控制样式的方法,就是隔一行变一个样式
});
}
按照你的要求就要在遍历的时候把4个数据拼到一行里,应用一个全局变量,记下循环数,改下拼串的方法。
参考资料: http://www.w3school.com.cn/jquery/ajax_getjson.asp
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询