控制prependTo()方法只执行一次的方法是调用前增加一个flag,设为false,调用后设置为true。后续检测flag,如果是true就return。
比如:
var flag = false;
$("#line2").click(function(){
if($(this).hasClass("bg-deb")){
return false;
}
$("#line-test").children().addClass("col-1");
$(".col-1").css('width','50%');
if(!flag){
$("#test1 div:odd").prependTo($("#test2"));
}
flag = true;
$(this).addClass("bg-deb");
$("#line1").removeClass("bg-deb");
})
jquery中,prependTo. 将元素添加到别的元素中作为头部子节点 ... 只执行一次的事件响应函数。
$("#line2").click(function(){
if($(this).hasClass("bg-deb")){
return false;
}
$("#line-test").children().addClass("col-1");
$(".col-1").css('width','50%');
$("#test1 div:odd").prependTo($("#test2"));
$(this).addClass("bg-deb");
$("#line1").removeClass("bg-deb");
})
你初学者吧?代码写得有点繁琐,虽然能实现你的效果,但是可以考虑优化的。