在js论坛等半天没人回。。这在发一下吧。代码如下JS如下:
$(document).ready(function(){
var Marcount = $(".list").children("ul").children("li").length;
for(var m=1;m < Marcount+1; m++){
var Padcount = $("#thumb_"+m+"_view").find("li").length;
var Divbox = "#thumb_"+m+"_show";
for(var n=1;n<Padcount+1; n++){
$("#thumb_"+m+"_"+n).bind("mouseover",(function(e){
$(Divbox).find("img").remove();
$(Divbox).append("<img src=\""+$(this).find("img").attr("src")+"\">");
$(this).css("background","#0078C4");
}));
$("#thumb_"+m+"_"+n).bind("mouseout",(function(e){
$(this).css("background","#ffffff");
}));
}
}
});html如下
<div class="list">
<ul>
<li>
<div class="con">
<div class="space" id="thumb_1_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_1_view">
<ul>
<li id="thumb_1_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_1_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
<li id="thumb_1_3"><a href=""><img src="images/thumb_3.jpg"></a></li>
</ul>
</div>
</li>
<li>
<div class="con">
<div class="space" id="thumb_2_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_2_view">
<ul>
<li id="thumb_2_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_2_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
<li id="thumb_2_3"><a href=""><img src="images/thumb_3.jpg"></a></li>
</ul>
</div>
</li>
<li>
<div class="con">
<div class="space" id="thumb_3_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_3_view">
<ul>
<li id="thumb_3_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_3_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
</ul>
</div>
</li>
</ul>
</div>
为什么大循环里面的小循环的时候,在绑定事件时,m的值变成了Marcount+1了呢?我想 当鼠标放到"thumb_m_n"上的时候,thumb_m_n的图片地址将被插入相应的thumb_m_show中。。可是循环了半天每次在事件中用alert输出的m值都为4。请问我应该怎么解决这个问题。
$(document).ready(function(){
var Marcount = $(".list").children("ul").children("li").length;
for(var m=1;m < Marcount+1; m++){
var Padcount = $("#thumb_"+m+"_view").find("li").length;
var Divbox = "#thumb_"+m+"_show";
for(var n=1;n<Padcount+1; n++){
$("#thumb_"+m+"_"+n).bind("mouseover",(function(e){
$(Divbox).find("img").remove();
$(Divbox).append("<img src=\""+$(this).find("img").attr("src")+"\">");
$(this).css("background","#0078C4");
}));
$("#thumb_"+m+"_"+n).bind("mouseout",(function(e){
$(this).css("background","#ffffff");
}));
}
}
});html如下
<div class="list">
<ul>
<li>
<div class="con">
<div class="space" id="thumb_1_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_1_view">
<ul>
<li id="thumb_1_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_1_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
<li id="thumb_1_3"><a href=""><img src="images/thumb_3.jpg"></a></li>
</ul>
</div>
</li>
<li>
<div class="con">
<div class="space" id="thumb_2_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_2_view">
<ul>
<li id="thumb_2_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_2_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
<li id="thumb_2_3"><a href=""><img src="images/thumb_3.jpg"></a></li>
</ul>
</div>
</li>
<li>
<div class="con">
<div class="space" id="thumb_3_show"></div>
<div class="intro">
</div>
</div>
<div class="img" id="thumb_3_view">
<ul>
<li id="thumb_3_1"><a href=""><img src="images/thumb_1.jpg"></a></li>
<li id="thumb_3_2"><a href=""><img src="images/thumb_2.jpg"></a></li>
</ul>
</div>
</li>
</ul>
</div>
为什么大循环里面的小循环的时候,在绑定事件时,m的值变成了Marcount+1了呢?我想 当鼠标放到"thumb_m_n"上的时候,thumb_m_n的图片地址将被插入相应的thumb_m_show中。。可是循环了半天每次在事件中用alert输出的m值都为4。请问我应该怎么解决这个问题。
我js改成了
$(document).ready(function(){
var Marcount = $(".list").children("ul").children("li").length;
for(var m=1;m < Marcount+1; m++){
var Padcount = $("#thumb_"+m+"_view").find("li").length;
var Divbox = "#thumb_"+m+"_show";
for(var n=1;n<Padcount+1; n++){
$("#thumb_"+m+"_"+n).bind("mouseover",(function(m){
var i = m;
$("#thumb_"+i+"_show").find("img").remove();
$("#thumb_"+i+"_show").append("<img src=\""+$(this).find("img").attr("src")+"\">"); $(this).css("background","#0078C4");
}));
$("#thumb_"+m+"_"+n).bind("mouseout",(function(e){
$(this).css("background","#ffffff");
}));
}
}
});
也不行
$(document).ready(function(){
var Marcount = $(".list").children("ul").children("li").length;
for(var m=1;m < Marcount+1; m++){
var Padcount = $("#thumb_"+m+"_view").find("li").length;
var Divbox = "#thumb_"+m+"_show";
for(var n=1;n<Padcount+1; n++){
$("#thumb_"+m+"_"+n).attr("toView",Divbox);
$("#thumb_"+m+"_"+n).bind("mouseover",(function(e){
var toView = $(this).attr("toView");
$(toView).find("img").remove();
$(toView).append("<img src=\""+$(this).find("img").attr("src")+"\">");
$(this).css("background","#0078C4");
}));
$("#thumb_"+m+"_"+n).bind("mouseout",(function(e){
$(this).css("background","#ffffff");
}));
}
}
});