jquery代码 求解释,不大明白的是if(i==1)那一行还有$(".ci_div"+i+" .wrap"),
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery代码 求解释,不大明白的是if(i==1)那一行还有$(".ci_div"+i+" .wrap"),相关的知识,希望对你有一定的参考价值。
$(function()
for( var i=1;i<=70;i++ )
var html="";
if( i==1 || i==68 || i==70 )
html=$(".cp"+i).clone(true);
$(".ci_main").append("<div class='ci_div ci_div"+i+"' style='background:url(images/a_"+i+".jpg) no-repeat center center ;'><div class='wrap'></div></div>");
$(".ci_div"+i+" .wrap").append(html);
)
=============================
<div class="ci_main"></div>
$(".ci_div"+i+" .wrap").append(html); 这段代码就是 找到 class=ci_div+i 的这一行 中的class=wrap的这一行,append(html)就是内部加入html数据 参考技术B $(function()
for( var i=1;i<=70;i++ )
var html="";
if( i==1 || i==68 || i==70 )
html=$(".cp"+i).clone(true);//复制.cp1 .cp68 .cp70的dom结构
$(".ci_main").append("<div class='ci_div ci_div"+i+"' style='background:url(images/a_"+i+".jpg) no-repeat center center ;'><div class='wrap'></div></div>");在.ci_main里面追加一个元素
$(".ci_div"+i+" .wrap").append(html);在.ci_div"+i+" .wrap"里面追加一个元素(这里的i是一个变量)
)
=============================
<div class="ci_main"></div>本回答被提问者和网友采纳 参考技术C 一个70次的for循环咯
问题的第一句:如果当前循环是第一次,第68次或者第70次 那么html为$('.cp' + i)这个对象的复制品。
问题的第二句:在$('.ci_div'+i+' .wrap')这个元素放入html
例如现在i=1,那么就是查找$('.ci_div1 .wrap'),即class="ci_div1"的元素下的class=‘wrap'的元素 参考技术D 您好,js里面的"+"号是连接符的意思,所以$(".ci_div"+i+" .wrap")代码的话,我们假设i这个变量值是1,那么这一段代码就被解析成$(".ci_div1 .wrap")这样子,希望你能得到帮助,呵呵... 第5个回答 2013-03-11 在<div class="ci_main"></div>这个DIV中添加70行类似
<div class='ci_div ci_div1 style='background:url(images/a_1.jpg) no-repeat center center ;'>
<div class='wrap'></div>
</div>
的DIV
其中:
第1个DIV中的<div class='wrap'></div>添加样式为.cp1的himl内容
第68个DIV中的<div class='wrap'></div>添加样式为.cp68的himl内容
第70个DIV中的<div class='wrap'></div>添加样式为.cp70的himl内容
其他的DIV中的<div class='wrap'></div>是空的
js乘法精度计算代码 求解释
//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function accMul(arg1,arg2)
var m=0,s1=arg1.toString(),s2=arg2.toString();
trym+=s1.split(".")[1].lengthcatch(e)
trym+=s2.split(".")[1].lengthcatch(e)
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
求解释两个try语句内代码含义
经过两个try语句后,m值不就是第二个代码的值了么。 这样最后计算就可能出错啊,但实际运行这是个正确的方法,不懂,求解释!
我自己想通了 ,, 通过第二个语句m值不是第二个小数的小数位数,而是变为两个小说的位数之和。
try只是捕获错误,被try包围的语句如果出错了也会继续执行下面的。
这里try里面的语句是获取小数位的长度,假如s1是整数的话s1.split(".")[1].length这句会出错。所以忽略这句,继续执行下面的。
如果不用try的话可以改成下面的
var m = 0,
s1 = arg1.toString(),
s2 = arg2.toString(),
t;
t = s1.split(".");
// 判断有没有小数位,避免出错
if (t[1])
m += t[1].length
t = s2.split(".");
if (t[1])
m += t[1].length
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
追问
谢谢你。 百度给我了个推荐答案,就没注意其它的。其实该选你为答案的
追答那赞一个呗,o(∩_∩)o 哈哈
追问你给我解释清楚了try catch。谢谢!
参考技术Ajs含有小数的计算都会有丢失精度的问题
实际上解决的办法就是
把小数转化为整数计算 并同时记住扩大的倍数
最后把结果缩小这个倍数 得到不丢失精度的结果
try catch 就是捕获异常 如果没有捕获肯定会报错
也就是你现在按流程所设想的
但是catch(e) 是捕获了异常 但是里面并没有任何操作
也就是 越过去了 忽略掉
// 这句就是像将小数点去掉 变成整数 如果没有小数点那就没有变化// 然后计算之后 缩小 10的m次方倍 也就是之前扩大了的倍数
Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)追问
原理我明白。你回答的和我问的不是一回事。 不过还是谢谢你!
本回答被提问者和网友采纳 参考技术B 注意 第二个try 中用的是m+=而不是 m=.所以实际上 执行两个try 之后m的值是两个浮点数小数位数的和,例arg1=2.3 arg2=3.456 那么就是4,也就是说精确到小数后为,但是实际计算后只能小数只有3位 所以就显示到后三位了追问谢谢你。百度怎么给了我个推荐答案啊,我就把它选了,没看见后面的回答。。 不然在你和上面这个哥们选一个了。 谢谢你能仔细看我代码!
以上是关于jquery代码 求解释,不大明白的是if(i==1)那一行还有$(".ci_div"+i+" .wrap"),的主要内容,如果未能解决你的问题,请参考以下文章
C语言 新手求解释! if (num[i]!=num[k]&&num[i]!=num[j]&&num[j]!=num[k])
(c语言题目没看懂什么意思,求解释)编一个程序,统计从键盘输入的命令行中,第二个参数所包含的英文字符