jqueryの1.9.0で.toggle(function, function)使えないですよね。二つの処理があってクリックするたびに切り替えたいのですが、1.9.0に対応した書き方ではどうなるのでしょうか?
var flag = false;.bind("click",function(){if(flag){//type1の処理}else{//type2の処理}flag = !flag;});
動かない;;$(function(){ $("#nav").css("display","none"); var flag = false; .bind("#btn_nav",function(){ if(flag){//type1の処理 $("#btn_nav").click(function(){ $("#nav").css("display","block"); $("#nav").animate({ left: "0px", }, 640 ); $("#header").animate({ left: "261px", }, 640 ); $("#wrapper").animate({ left: "261px", }, 640 ); }); } else{//type2の処理 $("#nav").css("display","none"); }flag = !flag; });});
このソース何処間違ってますか
.bindのリファレンス見るところからやりなおせ…
$(function(){ $("#nav").css("display","none"); var flag = false; $("#btn_nav").bind("click",function(){ if(flag){ $("#nav").css("display","block"); $("#nav").animate({ left: "0px", }, 640 ); $("#header").animate({ left: "261px", }, 640 ); $("#wrapper").animate({ left: "261px", }, 640 ); } else{ $("#nav").css("display","none"); }flag = !flag; });});
こういうことですね。ありがとうございます。もう一点お聞きしたいのですが、最初の****反応しないのにはなぜでしょうか?
,じゃなくて:だよ。display,んとこ
ttp://semooh.jp/jquery/api/css/css/name,+value/
$("p").mouseover(function () { $(this).css("color","red");});
これではなく???
flagが逆だからでしょう。このコードの場合、最初のflagをtrueにしとけばいいと思います。。
bindじゃなくてon
みんなの回答 1 件
var flag = false;
.bind("click",function(){
if(flag){
//type1の処理
}else{
//type2の処理
}
flag = !flag;
});
関連するトピックス