猿问

为什么这段设置背景图位置的代码跳不出if?







//在.picContainer中创建ul列表,ul列表中for循环添加15个li,根据索引值不同,设置li的背景图位置。


$(function(){
	////加载sprite2/////	
	$(".PicContainer").append("<ul class='Pic'></ul>");
	for (var $picIndex = 0; $picIndex <= 14; $picIndex++) {
		$(".Pic").append("<li></li>");
		///	前3图
		if ($picIndex == 0) {                 //这个if如果为true,函数会一直跳不出??????
			$(".Pic li").eq($picIndex).css("background-position","0 -1296px");
		};
		if ($picIndex == 1) {
			$(".Pic li").eq($picIndex).css("background-position","0 -1512px");
		};
		if ($picIndex == 2) {
			$(".Pic li").eq($picIndex).css("background-position","0 -1728px");
		};
			///9张正图
		if (2 < $picIndex < 12) {
			var $Position = $picIndex*216+"px";
			$(".Pic li").eq($picIndex).css("background-position","0 -$Position");
		};	
			///后3图	
		if ($picIndex = 13) {
			$(".Pic li").eq($picIndex).css("background-position","0 -216px");
		};
		if ($picIndex = 14) {
			$(".Pic li").eq($picIndex).css("background-position","0 -432px");
		};


newsudhc3634140
浏览 1589回答 2
2回答

Joeeeee

还有,这种写法是错误大的,没有这种写法的 if (2 < $picIndex < 12)正确的写法应该是if ($picIndex >2  &&  $picIndex < 12)判断是正确的,我测试过了,下面的函数可以正确执行<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>if</title> <script> for (var i = 0; i < 10; i++) {    if(i==0){      alert("i=0");    };    if (i<=3){      alert("i<=3");    };    if(i>3 && i<=7){      alert("i<=7");    };    if(i==9){       alert("i==9");    }; } </script> </head> <body> </body> </html>

Joeeeee

最明显的一个问题:这里判断条件成了赋值了,应该是$picIndex==13和$picIndex==14
随时随地看视频慕课网APP
我要回答