![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
jQueryについて質問なのですが、ずっと調べているのですが答えが見つからずどうかお力を貸してください!
今ホームページを作っていまして、メニュー画面でギャラリーのボタンをクリックすると"animate"を使って横からスーッと写真が出てくるように作りました。しかしもう一度ギャラリーボタンを押すと更に横に動いてしまうため、"one"clickで一度だけ実行する処理にしました(これしかやり方が分からなかったので。。)
とりあえずここまではいいのですが、この時に例えばプロフィールボタンを押したときに今出ている写真を引っ込めてプロフィールを出すことは出来るのですが、またギャラリーボタンを押したときに"one"にしているため動きません。
そこでお聞きしたいのですが、この"one"を解除する方法などはあるのでしょうか?
もしくは他に何か良い方法あれば是非教えてもらいたいです。
色々調べて"bind"、"unbind"をうまく使うのかなと思って試行錯誤やってはいるのですがなかなかうまくいかず。。。
どうしても来週までに仕上げなくてはならなくて是非お力を貸してください!!
No.1ベストアンサー
- 回答日時:
自分でフラグとか設けて制御すればいいんじゃないかな。
以下のサンプルでは右に出しているliには'flag'が立っている。
(上位ULには現在出しているliのjQueryオブジェクトを'current'に記憶している)
<head>
<style type="text/css">
ul,li{
list-style-type:none;
margin:0;
padding:0;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4. …
<script type="text/javascript">
$(function(){
$('#Menu li').click(function(){
if($(this).data('flag')) return;
$(this).animate({marginLeft:'100px'},'slow');
$(this).data('flag',true);
if($(this).parent().data('current')) {
$(this).parent().data('current').animate({marginLeft:'0px'},'fast').data('flag',false);
}
$(this).parent().data('current',$(this));
});
});
</script>
</head>
<body>
<ul id="Menu">
<li>AAAA</li>
<li>BBB</li>
<li>CCCCC</li>
</ul>
</body>
この回答への補足
ご質問に答えてくださってありがとうございます!!
とりあえずギャラリーボタンを押した後の、更にまた押したときに動かないようになったのですが、その後の他のメニューボタンを押したときの解除がうまくいきません。
いまずっと色々とやっていたのですがなかなかうまくいかず。。
僕の場合liそれぞれにclassを振り分けているのですがそういう場合はどうすればよろしいのでしょうか?
このような感じで振り分けています。
<ul>
<li class="homebtn"><a href="#">home</a></li>
<li class="probtn"><a href="#">profile</a></li>
<li class="gallbtn"><a href="#">gallery</a></li>
<li class="blogbtn"><a href="#">blog</a></li>
</ul>
そしてsteel_gray様に教わったのをこのような感じでやってみたのですが。。
//ギャラリーBOX
$(function(){
$("#main_manu li.gallbtn").click(function(){
if($(this).data('flag')) return;
$("#gallery_manu_box li.ind_pho").show(0).animate({left: "+=820px"},1000);
$("#gallery_manu_box li.ita_pho").show(0).animate({left: "+=1080px"},1200);
$(this).data('flag',true);
if($(this).parent().data('current')) {
$("#gallery_manu_box li.ind_pho").hide(0).animate({left: "-=820px"},1000);
$("#gallery_manu_box li.ita_pho").hide(0).animate({left: "-=1080px"},1200);
$(this).data('flag',false);
}
$(this).parent().data('current',$(this)); });
});
これではダメだろうなというはなんとなく見て理解できるのですが、全くほかのやり方が思いつきません。。。
それと、steel_gray様の書かれたサンプルの"this"と言うのは、"#Menu li"のことを指しているのでしょうか?
すみません質問ばかりで。。
やはりjavascriptをちゃんと勉強しなくてはダメですね。。
お時間あればお返事よろしくおねがいします!!
すみません!
まだ解決していないのに終了させてしまいました!
また引き続き投稿させてもらいましたのでよろしければお願いします!!
http://oshiete.goo.ne.jp/qa/6063457.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- docomo(ドコモ) ocnで使用可能なガラケー 2 2023/03/18 16:55
- 据え置き型ゲーム機 PS4コントローラのリセット確認方法 1 2022/10/01 10:57
- デジタルカメラ sony a7ii と 富士フイルムX-T2について 【sony a7ii】 数値変動・動画ボタンの 1 2023/03/21 01:14
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
- ノートパソコン パソコンに詳しい方教えて下さい!! ノートパソコンはhuawei使ってますが、キーボードがおかしくな 4 2022/05/14 16:12
- Android(アンドロイド) PayPayでアンドロイドスマホのアカウント画面の表示のポイントの使い方が知りたい 画像添付 5 2022/05/26 10:58
- 画像編集・動画編集・音楽編集 Windowsに付属しているビデオエディター。BGMを追加する方法は? 1 2022/06/26 08:54
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
jqueryで、○○ is undefind
-
javascriptでsplitが上手く動作...
-
javascript テキストエリアを1...
-
jQueryのeqで最後からn番目以降...
-
自閉式ツリーの修正について
-
onmouseoverの表示切り替えが上...
-
<ul>から</ul>の間をjavascriptで
-
固定ナビのJqueryのアコーディ...
-
SleniumBasicでコンパイルエラ...
-
JSの変数をHTMLに渡す方法
-
ネストされたチェックボックス...
-
div要素をランダムに表示させたい
-
アコーディオン自動開閉メニュ...
-
jQueryの配列の渡し方について
-
jquery ドロップダウンメニュー...
-
JQuery UIで、表示したタブの中...
-
jQuery タブメニューへのダイ...
-
C# ブラウザの自動クリック
-
javascript INNERHTMLについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
クリックした<a>タグのみにClas...
-
どの<li><a> が押されたか判別...
-
【javascript で動的に a タグ...
-
文字と数字が混在する要素のsor...
-
javascriptでEnterキーをtabキ...
-
チェックボックスに入っている...
-
複数のラジオボタン項目でのテ...
-
jquery ドロップダウンメニュー...
-
jQueryのeqで最後からn番目以降...
-
JavaScriptで、?マークとコロ...
-
質問に答えていくと、回答によ...
-
Jqueryでリストのスクロール
-
多階層ドロップダウンのスマホ...
-
JQueryタブのアクティブ アン...
-
gridstack.jsについて教えてく...
-
タブ切り替えの初期表示について
-
オンマウスで画像ロールオーバ...
-
「jQuery」アコーディオンメニ...
-
複数の画像をランダム(シャッ...
おすすめ情報