Как скрыть div onclick и показать onclick с помощью jquery

Я интегрирую функцию подсказки поиска в скрипт oscommerce, функция работает должным образом, но мне нужно создать div для скрытия клика и показывать при входном щелчке, используя jquery (со скоростью анимации), так как, когда я начинаю печатать, div появляется, но не может быть скрытый (я должен обновить веб-страницу, чтобы удалить этот поиск предложить div)

События будут созданы в соответствии с этим div:

Здесь я прилагаю код:

$data = '<div class="search">' . "\n" .
        tep_draw_form('quick_find', tep_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get', 'id="frmSearch"') . "\n" . //     '     <label class="fl_left">'.MODULE_BOXES_SEARCH_HEADER_BOX_TITLE.': </label>' ."\n".
        '       ' . tep_draw_button_search_top() . tep_draw_button(MODULE_BOXES_SEARCH_HEADER_BOX_TITLE) . tep_draw_button_search_bottom() . "\n" .
        '       <div class="input-width">' . "\n" .
        '       <div class="width-setter">' . "\n" .
        tep_draw_input_field('keywords', MODULE_BOXES_SEARCH_HEADER_BOX_INPUT, 'id="txtSearch" onkeyup="searchSuggest(event);" autocomplete="off" size="10" maxlength="300" class="go fl_left" onblur="if(this.value==\'\') this.value=\'' . MODULE_BOXES_SEARCH_HEADER_BOX_INPUT . '\'" onfocus="if(this.value ==\'' . MODULE_BOXES_SEARCH_HEADER_BOX_INPUT . '\' ) this.value=\'\'"') . '' . tep_hide_session_id() . "\n" .
        '           </div>' . "\n" .
        '       <div id="smartsuggest" ></div> ' .
        '       </div>' . "\n" . '</form>' . "\n" .
        '</div>
                <script type="text/javascript">
        $(function(){
        var mq = window.matchMedia( "(max-width: 480px)" );
            if((mq.matches)) {
          $(".input-width").click(function() {
            $(this).animate({right: "0", width: "125px"}, 500);
          });
          $(".input-width input").blur(function(){
            $(this).parent().parent().animate({right: "0", width: "125px"}, 500);
          });
        }else{
          $(".input-width").click(function() {
            $(this).animate({right: "0", width: "360px"}, 500);
          });
          $(".input-width input").blur(function(){
            $(this).parent().parent().animate({right: "0", width: "190px"}, 500);
          });
        }

      });
                </script>
                ' . "\n";

// MOD: BOF - SmartSuggest
if (SMARTSUGGEST_ENABLED != 'false') {
    require(DIR_WS_CLASSES . 'smartsuggest.php');
    $smartsuggest = new smartsuggest();
    $smartsuggest->output($data);
}
// MOD: EOF - SmartSuggest

1 ответ

Используя методы Jquery hide() и show(), вы можете сделать это... Попробуйте...)

$(document).ready(function(){
    $("#hide").click(function(){
        $("p").hide();
    });
    $("#show").click(function(){
        $("p").show();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<p>If you click on the "Hide" button, I will disappear.</p>

<button id="hide">Hide</button>
<button id="show">Show</button>

Другие вопросы по тегам