Обрабтчик Click для селектора ".image_type" открывает/закрывает список
Спойлер (Отобразить)CODE ( javascript):
скопировать код в буфер обмена
//jQuery function() { max_zindex += 1; var button = $(this); if ((dd_box = button.next()).is(":visible")) dd_box.hide(), dd_box = !1; else { $(".dd_box+div").hide(); button.position().top; var l = button.position().left; if ((button.data("left") || button.offset().left + dd_box.outerWidth() > ww && button.offset().left + button.outerWidth() - dd_box.outerWidth() > 0) && (l += button.outerWidth() - dd_box.outerWidth()), button.data("up") || button.offset().top + button.outerHeight() + dd_box.outerHeight() > $(document).scrollTop() + wh && button.offset().top - dd_box.outerHeight() > 0) var t = button.position().top - dd_box.outerHeight() - 5; else t = button.position().top + button.outerHeight() + 5; dd_box.unbind().css({ position: "absolute", top: t + "px", left: l + "px", zIndex: max_zindex }).show() } return !1 }
Это список
Спойлер (Отобразить)CODE ( html):
скопировать код в буфер обмена
<div class="pure-form bubble sw" style="position: absolute; top: -288.333px; left: 597.6px; z-index: 100001; display: block;"> <div class="select_image_type"> <span data-type="image">Изображения</span> <span data-type="photo" style="padding-left:30px">Фото</span> <span data-type="vector" style="padding-left:30px">Векторы</span> <span data-type="illustration" style="padding-left:30px">Иллюстрации</span> <span data-type="video">Видео</span><span data-type="music">Музыка</span> </div> <hr> <a href=" /blog/posts/id-46/" target="_blank"> Параметры поиска →</a> </div>
Обработчики выбора из списка - Click для селектора ".select_image_type span"
Спойлер (Отобразить)CODE ( javascript):
скопировать код в буфер обмена
//DOM2 function(a) { return void 0 === n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments) } //jQuery function() { var form = $(this).closest("form"), type = $(this).data("type"); $(".media_search .image_type").html($(this).text()); var url = LANG_URL_PREFIX + "/" + type + "s/search/"; "music" == type && (url = LANG_URL_PREFIX + "/music/search/"), form.attr("action", url), dd_box.hide(), dd_box = !1, form.find('[name="q"]').val() ? form.submit() : form.find('[name="q"]').focus() }
Заметил накладу. При обработке события Click для селектора ".image_type"
неверно обрабатывается scrollY. Когда scrollY=0, список открывается сверху над спаном,
но трегольник над списком остаётся сверху, хотя по идее должен быть внизу и указывать на спан.
При клике scrollY не менятся и список не всегда виден полностью.
Удачи!(Отредактировано автором: 17 Августа, 2021 - 07:03:24)
|