zoukankan      html  css  js  c++  java
  • H5 选择城市

    1、如下图:

      

    2、选择开始城市(到达城市雷同):

    <div class="search-selectors-item search-selectors-item-start">
                              <div class="title">{:lang('From')}</div>
                              <input class="input" id="start_city" name="start_city" type="text" placeholder="{:lang('Where are you departing from?')}" value="">
                              <input class="input" id="start_city2" name="start_city2" type="text" placeholder="{:lang('Where are you departing from?')}" value="" style="display: none;">
                              <!-- 出发城市选择 -->
                              <div class="city-container depart-city-picker start-city-container">
                                <p class="city-container-top">
                                  <span class="tabItem active-tab">{:lang('Popular cities')}</span>
                                  <span class="tabItem">ABCDEFGH</span>
                                  <span class="tabItem">IJKLMNOP</span>
                                  <span class="tabItem">QRSTUVWXYZ</span>
                                </p>
                                <!-- 热门城市 -->
                                <div class="city-content-container active-city">
                                  <div class="city-content-container-remen">
                                    {foreach name="citys" item="vo" key="key"}
                                      {foreach name="vo" item="voo" key="keyy"}
                                        {if condition="$voo.city_hot eq 1"}
                                         <div class="cityItem" data-city_code="{$voo.city_code}" data-city_id="{$voo.city_id}" data-name="{$voo.city_name}">{$voo.city_name}</div>
                                        {/if}
                                      {/foreach}
                                    {/foreach}
                                  </div>
                                </div>
                                <!-- ABCDEFGH -->
    
                                <div class="city-content-container">
                                  {foreach name="citys" item="vo" key="key"}
                                    {if condition="preg_match('/^[a-h]$/i',$key)"}      <!-- 正则 -->
                                      <div class="city-character-content">
                                        <div class="city-character">{$key}</div>
                                        <div class="character-cities">
                                          {foreach name="vo" item="voo" key="keyy"}     
                                            <div class="cityItem" data-city_code="{$voo.city_code}" data-city_id="{$voo.city_id}" data-name="{$voo.city_name}">{$voo.city_name}</div>
                                          {/foreach}                       
                                        </div>
                                      </div>
                                    {/if}
                                  {/foreach}
                                </div>
                                <!-- IJKLMNOP -->
                                <div class="city-content-container">
                                  {foreach name="citys" item="vo" key="key"}
                                    {if condition="preg_match('/^[i-p]/i',$key)"}      <1-- 正则 -->
                                      <div class="city-character-content">
                                        <div class="city-character">{$key}</div>
                                        <div class="character-cities">
                                          {foreach name="vo" item="voo" key="keyy"}     
                                            <div class="cityItem" data-city_code="{$voo.city_code}" data-city_id="{$voo.city_id}" data-name="{$voo.city_name}">{$voo.city_name}</div>
                                          {/foreach}                       
                                        </div>
                                      </div>
                                    {/if}
                                  {/foreach}
                                </div>
                                <!-- QRSTUVWXYZ -->
                                <div class="city-content-container">
                                  {foreach name="citys" item="vo" key="key"}
                                    {if condition="preg_match('/^[q-z]/i',$key)"}    <1-- 正则 -->
                                      <div class="city-character-content">
                                        <div class="city-character">{$key}</div>
                                        <div class="character-cities">
                                          {foreach name="vo" item="voo" key="keyy"}     
                                            <div class="cityItem" data-city_code="{$voo.city_code}" data-city_id="{$voo.city_id}" data-name="{$voo.city_name}">{$voo.city_name}</div>
                                          {/foreach}                       
                                        </div>
                                      </div>
                                    {/if}
                                  {/foreach}
                                </div>
                              </div>
                            </div>

    3、css:

      .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .city-character-content .character-cities .cityItem{
         33%;
        display: inline-block;
        vertical-align: top;
        padding: 5px 10px;
      }
      .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .cityItem{
        /* flex: 1; */
        display: inline-block;
         33%;
        vertical-align: top;
        font-size: 12px;
        cursor: pointer;
        text-align: center;
        padding: 5px 10px;
      }
      .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container{
          padding: 10px;
          color: #333;
          font-size: 0;
          display: none;
      }
    }
    
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-container-top{
        border-bottom: 1px solid #e6e6e6;
        height: 55px;
        line-height: 55px;
        color: #333;
        font-size: 0;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-container-top .tabItem{
        font-size: 14px;
        height: 55px;
        line-height: 55px;
        text-align: center;
        display: inline-block;
        vertical-align: top;
        font-size: 14px;
         25%;
        position: relative;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-container-top .tabItem.active-tab{
        color: #0086f6;
        font-weight: 500;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-container-top .tabItem.active-tab::before{
        content: "";
        position: absolute;
        bottom: -1px;
        display: block;
         100%;
        left: 0;
        border-bottom: 2px solid #0086f6;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container.depart-city-picker{
        position: absolute;
        top: 65px;
        left: 0;
        z-index: 9;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container-remen{
        /* display:flex; */
        /* flex-direction: row; */
        font-size: 0;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .cityItem.multi{
        font-size: 12px;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .city-character-content{
         100%;
        font-size: 0;
        margin-bottom: 10px;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .city-character-content .city-character{
         20px;
        display: inline-block;
        vertical-align: top;
        font-weight: 600;
        color: #0086f6;
        font-size: 14px;
    }
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .city-character-content .character-cities{
        display: inline-block;
        vertical-align: top;
        flex-wrap: wrap;
         calc(100% - 25px);
    }
    
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .city-character-content .character-cities .cityItem:hover,,
    .fly-searchs .real-time-search .search-fly .search-selectors-info .search-selectors-add .search-selectors-item .city-container .city-content-container .cityItem:hover{
        background-color: rgba(0,134,246,.05);
        color: #0086f6;
    }
    .active-city{
        display: block !important;
    }

    4、js、

         //显示城市
            $('#start_city').focus(function() {
                $('.start-city-container').addClass('active-city');
            })
            $('#end_city').focus(function() {
                $('.end-city-container').addClass('active-city');
            })
            
            //隐藏城市
            $(document).click(function(event){
                var _con = $('.search-selectors-item-start');
                if(!_con.is(event.target) && _con.has(event.target).length === 0){
                $('.start-city-container').removeClass('active-city');
                }
            });
            $(document).click(function(event){
                var _con = $('.search-selectors-item-end');
                if(!_con.is(event.target) && _con.has(event.target).length === 0){
                $('.end-city-container').removeClass('active-city');
                }
            });//城市字母切换
            $(document).on('click', '.start-city-container .tabItem', function() {
                $(this).addClass('active-tab').siblings().removeClass('active-tab');
                $('.start-city-container').find('.city-content-container').eq($(this).index()).addClass('active-city').siblings().removeClass('active-city');
            })
            $(document).on('click', '.end-city-container .tabItem', function() {
                $(this).addClass('active-tab').siblings().removeClass('active-tab');
                $('.end-city-container').find('.city-content-container').eq($(this).index()).addClass('active-city').siblings().removeClass('active-city');
            })
  • 相关阅读:
    [Windows] 重新安装/卸载桌面版OneDrive / Reinstall/ Uninstall Desktop Version OneDrive
    [Linux] 关闭防火墙以及开放端口
    [Java] Properties类
    [Linux] 文档编辑搜索
    [Dababase
    etymological
    [JavaScript] 表单验证不通过不提交的JS写法
    Lyrics来源
    [Maven
    [ Servlet / JSP ] J2EE Web Application 中的 JSESSIONID 是什么?
  • 原文地址:https://www.cnblogs.com/moguzi12345/p/14202044.html
Copyright © 2011-2022 走看看