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>

参考技术A if( i==1 || i==68 || i==70 )意思就是说,for循环每次循环的时候 如果i等于1的时候 html=$(".cp"+i).clone(true); 等于68的时候 html=$(".cp"+i).clone(true); 或者等于70的时候html=$(".cp"+i).clone(true);

$(".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的话可以改成下面的

function accMul(arg1, arg2) 
    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。谢谢!

参考技术A

js含有小数的计算都会有丢失精度的问题


实际上解决的办法就是

把小数转化为整数计算 并同时记住扩大的倍数

最后把结果缩小这个倍数 得到不丢失精度的结果

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语言程序

(c语言题目没看懂什么意思,求解释)编一个程序,统计从键盘输入的命令行中,第二个参数所包含的英文字符

C语言,输入一行文字,单词间以空格分隔,然后分离其中的单词按每行一个单词输出,程序有了,求解释

得到意外token,求解释

求解释python调用api的方法