app/template/smartphone/init/javascript.twig line 1

Open in your IDE?
  1. <script>
  2.     var baseUrl = '{{ eccube_config.UT_URL }}';
  3. </script>
  4. {% include 'init/javascript/jquery.searchpop.twig' %}
  5. {% include "init/javascript/share_buttons.twig" %}
  6. {% include 'init/javascript/kuru2.twig' %}
  7. <script src="//code.jquery.com/jquery-1.10.1.min.js"></script>
  8. <script type="text/javascript" src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  9. <script type="text/javascript">
  10.     $( function(){
  11.         // 全スライド
  12.         var $slideList = $('.slide-panel-wrapper').show();
  13.         // メニュースライド
  14.         var $menuSlide = $('.slide-panel-wrapper[data-slide-type="menu"]');
  15.         // 検索スライド
  16.         var $searchSlide = $('.slide-panel-wrapper[data-slide-type="search"]');
  17.         // フッターナビ
  18.         var $navi = $('#ut-sp-global-navi > ul');
  19.         // ナビとスライドのマップ
  20.         var slidePanelMap = {
  21.             'menu': $menuSlide,
  22.             'search': $searchSlide
  23.         };
  24.         // オーバレイ
  25.         var $overlay = $('<div id="slide-panel-overlay"></div>');
  26.         $('body').on('click', '#slide-panel-overlay', function(){
  27.             hideSlide($slideList);
  28.         });
  29.         // スライドコントロール
  30.         var showSlide = function($slide){
  31.             $('body').prepend($overlay);
  32.             $slide.animate({
  33.                 left: 0
  34.             }, 200).addClass('slide-panel-active');
  35.         };
  36.         var hideSlide = function($slide, noRemoveOverlay){
  37.             // 検索文字をクリアし、検索ポップアップを削除
  38.             $('#search_string', $slide).val('');
  39.             $('.searchpop_container .searchpop_suggests, .searchpop_container .searchpop_results', $slide).empty();
  40.             $('.searchpop_container').hide();
  41.             noRemoveOverlay = noRemoveOverlay === undefined ? false : true;
  42.             $slide.animate({
  43.                 left: '-100vw'
  44.             }, 200, function(){ if(!noRemoveOverlay) $overlay.remove(); }).removeClass('slide-panel-active');
  45.         };
  46.         var slideCtrlFunc = function($slide){
  47.             // 表示中なら消す
  48.             if( $slide.hasClass('slide-panel-active') ){
  49.                 hideSlide($slide);
  50.             }
  51.             else{
  52.                 showSlide($slide);
  53.             }
  54.         };
  55.         // スライド開閉
  56.         $('.navi-menu > a, .navi-search > a', $navi).on('click', function(e){
  57.             e.preventDefault();
  58.             // スライドを定義
  59.             var slideName = $(this).attr('data-slide-panel');
  60.             var $slide = slidePanelMap[ slideName ];
  61.             for( var key in slidePanelMap ){
  62.                 if(slideName !== key) hideSlide(slidePanelMap[key], true);
  63.             }
  64.             slideCtrlFunc($slide);
  65.         });
  66.         // メニュー開閉
  67.         $('.has-child > a', $slideList).on('click', function(e){
  68.             var $this = $(this);
  69.             $this.closest('li').toggleClass('opened');
  70.             $this.siblings('ul, div').slideToggle('fast');
  71.         });
  72.         // 「メニューを閉じる」ボタン
  73.         $('.menu-footer button', $slideList).on('click', function(){
  74.             hideSlide( $('.slide-panel-active', $slideList.parent()) );
  75.         });
  76.     });
  77. </script>