ナビをクリック後にタグを切り替えたいのですが、ほとんどのHTMLパーツは共通です。(一部はほんとに切り替える)
しかし、まるですべてが切替わったかのように見せたいです。一度、フォームをすべてフェードアウトして
すぐにフェードインさせる。
上記のようなことを行う場合、javascriptではどのようなタイミングでイベントを発火させれば良いでしょうか?
ナビのクリックイベントにhide()とshow()を入れましたが、失敗しました。(切り替わっているが、早すぎて全パーツではなく違うところのみ切り替わっているように見える。)
javascript
1$('.searchTab__item').on("click", function(){ 2 var dataTab = $(this).data('tab'); 3 $('#airtab, #jrtab').hide(); 4 $('#' + dataTab + 'tab').show(); 5 $('.searchTab__item').removeClass("selected"); 6 $(this).addClass("selected"); 7});
空港と駅を切り替えたい。
HTMLパーツが共通なので入力された後に(submit押さずに)タグ切り替え押したら、値が入力済みですが問題ありません。
html
1 <ul class="searchTab"> 2 <li class="searchTab__item selected" data-tab="jr">hoge</li> 3 <li class="searchTab__item" data-tab="air">hoge</li> 4 </ul> 5 6 <form id="form" name="form" action="/" target="_blank" method="post"> 7 8 <div class="dateArea"> 9 <div class="startDate"> 10 <input type="text" id="startStation" value="" placeholder="日付" readonly="readOnly"> 11 </div> 12 <div class="endDate"> 13 <input type="text" id="endCalenderStation" value="" placeholder="日付" readonly="readOnly"> 14 </div> 15 </div> 16 <div id="jrtab"> 17 <div class="stationArea"> 18 <div class="startStation"> 19 <p class="tab-contentP">出発駅</p> 20 <input type="text" class="startStationInput" value="" placeholder="駅名を選択"> 21 </div> 22 </div> 23 <div class="arriveStation"> 24 <p class="tab-contentP" style="text-align: right">到着駅</p> 25 <input type="text" value="" class="arriveStationInput" placeholder="駅名を選択"> 26 </div> 27 </div> 28 </div> 29 <div id="airtab" style="display:none;"> 30 <div class="airArea"> 31 <div class="startAirport"> 32 <p class="tab-contentP">出発空港</p> 33 <input class="startAirInput" type="text" name="" value="" placeholder="空港"> 34 </div> 35 <div class="arriveAirport"> 36 <p class="tab-contentP" style="text-align: right">到着空港</p> 37 <input class="arriveAirInput" type="text" name="" value="" placeholder="空港"> 38 39 </div> 40 </div> 41 </div> 42 <div class="lodgmentPlaceArea"> 43 <p class="tab-contentP">宿泊地</p> 44 <input type="text" id="stayplacedisplay" value="" placeholder="都道府県" class="lodgmentPlaceAreaInput"> 45 </div> 46 <div class="countHumanArea"> 47 <p class="tab-contentP">人数</p> 48 <input type="text" name="" value="" placeholder="2名・1室" id="countHumanInput"> 49 </div> 50 <div class="countRoomArea"> 51 <p class="tab-contentP">室数</p> 52 <input type="text" name="" value="" placeholder="2名・1室" id="countRoomInput"> 53 </div> 54 <input type="submit" value="検 索" class="btn btn-lg"> 55 </form>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。