Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2018, 08:24
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

Alert срабатыевает столько раз, сколько закрыл popup. Почему?
Alert срабатыевает столько раз, сколько закрыл popup. Почему?
Открыл попап, закрыл. Алерт сработает 2 раза. И так далее?
"use strict";
(function($){
	$(function(){
		
        var elem;
        $('body').on('mouseover', '.search_btn', function (event) {
			// Добавляем блюр
            $('main').removeClass('custom_no_blur').addClass('custom_blur');
			// Если не создан елемент с классом .pmc - создать, иначе показать
            if ($('.pmc').length<1){$('footer').after(popup);$('.pmc').css({'display':'block'});}
			else{$('.pmc').css({'display':'block'});}
            $('.popup').fadeIn(800);
            // Подсветим checked
            $('.block_label__item input[checked="checked"]:radio').parent().parent().css({'background-color':'rgba(0, 128, 0, 0.3)', 'border-radius':'5px', 'color':'darkgreen'});
            // выделяем при наведении
            $('.block_label__item').on('mouseover', function() {
                $(this).css({'background-color':'rgba(0, 128, 0, 0.3)', 'border-radius':'5px', 'color':'darkgreen'});
            });
            //снимаем выделение только у не выбранных
            $('.block_label__item').on('mouseout', function() {
                elem = $(this).children().children();
                if ($(elem[1]).attr('checked') != 'checked'){
                    $(this).css({'background-color':'white', 'color':'#ccc'});
                }
            });
            $('.block_label__item').on('click', function(event) {
                elem = $(this).children().children();
                var name = $(elem[1]).attr('name');
                var mas_input = $('.block_label__item input[name="'+name+'"]');
                for(let i=0; i<mas_input.length;i++){
                    $(mas_input[i]).attr('checked', false);
                }
                $('.block_label__item input[name="'+name+'"]').parent().parent().css({'background-color':'white', 'color':'#ccc'});
                $(elem[1]).attr('checked', true);
                $('.block_label__item input[checked="checked"]:radio').parent().parent().css({'background-color':'rgba(0, 128, 0, 0.3)', 'border-radius':'5px', 'color':'darkgreen'});
            });
			// Если нажата клавиша Enter начать поиск
			$('.search_input').keydown(function(event){
			   if(event.keyCode===13){
				   var input=$('.block_label__item input[checked="checked"]:radio');
				   var searchStr=$('.search_input').val();
				   var searchField=$(input[0]).val();
				   var searchStatusId=$(input[1]).val();
				   var searchSort=$(input[2]).val();
				   if (searchField=='none'&searchStatusId=='0'){
					  $('main').removeClass('custom_blur').addClass('custom_no_blur');
					  $('.popup').fadeOut(800,function(){$('.pmc').css({'display':'none'});});
					  $('.loader-container').fadeIn(300);
					  let url = '/project/searchAjax/';
					  $.post(url,{searchStr:searchStr,searchField:searchField,searchStatusId:searchStatusId,searchSort:searchSort},function(data){
						  $('.blocks .table tbody').html(data);
						  $('.pagination').hide();
						  $('.loader-container').fadeOut(300,function(){$('.blocks .table tbody').ready().ajaxComplete();});
					   });
				   }else{
					   if(searchStr.length>2){
						  $('main').removeClass('custom_blur').addClass('custom_no_blur');
						  $('.popup').fadeOut(800,function(){$('.pmc').css({'display':'none'});});
						  $('.loader-container').fadeIn(300);
						  let url = '/project/searchAjax/';
						  $.post(url,{searchStr:searchStr,searchField:searchField,searchStatusId:searchStatusId,searchSort:searchSort},function(data){
							  $('.blocks .table tbody').html(data);
							  $('.pagination').hide();
							  $('.loader-container').fadeOut(300,function(){$('.blocks .table tbody').ready().ajaxComplete();});
						   });
					   }else{alert('Запрос должен быть не менее 3-х символов!');}
				   }
				}
			});
			// Если нажата кнопка поиска - начать поиск
            $('.popup__footer__submit').on('click',function(){
                $('main').removeClass('custom_blur').addClass('custom_no_blur');
                $('.popup').fadeOut(800,function(){$('.pmc').css({'display':'none'});});
				$('.loader-container').fadeIn(300);
                let input=$('.block_label__item input[checked="checked"]:radio');
                let searchStr=$('.search_input').val();
                let searchField=$(input[0]).val();
                let searchStatusId=$(input[1]).val();
                let searchSort=$(input[2]).val();
                let url = '/project/searchAjax/';
                $.post(url,{searchStr:searchStr,searchField:searchField,searchStatusId:searchStatusId,searchSort:searchSort},function(data){
                    $('.blocks .table tbody').html(data);
                    $('.pagination').hide();
					$('.loader-container').fadeOut(300,function(){$('.blocks .table tbody').ready().ajaxComplete();});
                });
            });
            $('.pmc_close').on('click', function (){
                $('main').removeClass('custom_blur').addClass('custom_no_blur');
                $('.popup').fadeOut(800, function () {
                    $('.pmc').css({'display':'none'});
                });
            });
            $('.popup_close').on('click', function (){
                $('main').removeClass('custom_blur').addClass('custom_no_blur');
                $('.popup').fadeOut(800, function () {
                    $('.pmc').css({'display':'none'});
                });
            });
        });
    });
})(jQuery);
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2018, 08:26
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

'<div class="popup__navigation">'+
		                            '<div class="popup__navigation__search">'+
		                                '<input class="search_input" type="text" name="search_input" value="" placeholder="Ваш поисковый запрос" autofocus="autofocus">'+
		                            '</div>'+
		                            '<div class="popup_close" title="Закрыть">X</div>'+
		                        '</div>'+
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2018, 13:26
Аспирант
Отправить личное сообщение для doox911 Посмотреть профиль Найти все сообщения от doox911
 
Регистрация: 01.04.2013
Сообщений: 56

Решение:
"use strict";
(function($){
	$(function(){
        var elem;
        $('body').on('mouseover','.search_btn',function(){
            $('main').removeClass('custom_no_blur').addClass('custom_blur');
            $('.pmc').css({'display':'block'});
            $('.popup').fadeIn(800);
            $('.block_label__item input[checked="checked"]:radio').parent().parent().css({'background-color':'rgba(0,128,0,0.3)','border-radius':'5px','color':'darkgreen'});
            $('.block_label__item').on('mouseover',function(){
                $(this).css({'background-color':'rgba(0, 128, 0, 0.3)','border-radius':'5px','color':'darkgreen'});
            });
            $('.block_label__item').on('mouseout',function(){
                elem=$(this).children().children();
                if ($(elem[1]).attr('checked')!='checked'){
                    $(this).css({'background-color':'white','color':'#ccc'});
                }
            });
            $('.block_label__item').on('click',function(){
                elem=$(this).children().children();
                var name=$(elem[1]).attr('name');
                var mas_input=$('.block_label__item input[name="'+name+'"]');
                for(let i=0; i<mas_input.length;i++){
                    $(mas_input[i]).attr('checked',false);
                }
                $('.block_label__item input[name="'+name+'"]').parent().parent().css({'background-color':'white','color':'#ccc'});
                $(elem[1]).attr('checked',true);
                $('.block_label__item input[checked="checked"]:radio').parent().parent().css({'background-color':'rgba(0,128,0,0.3)','border-radius':'5px','color':'darkgreen'});
            });
            function sendPostAndAnimate(){
                var input=$('.block_label__item input[checked="checked"]:radio');
                var searchStr=$('.search_input').val();
                var searchField=$(input[0]).val();
                var searchStatusId=$(input[1]).val();
                var searchSort=$(input[2]).val();
                if (searchField=='none'&searchStatusId=='0'){
                   $('main').removeClass('custom_blur').addClass('custom_no_blur');
                   $('.popup').fadeOut(800,function(){$('.pmc').css({'display':'none'});});
                   $('.loader-container').fadeIn(300);
                   let url='/project/searchAjax/';
                   $.post(url,{searchStr:searchStr,searchField:searchField,searchStatusId:searchStatusId,searchSort:searchSort},function(data){
                       $('.blocks .table tbody').html(data);
                       $('.pagination').hide();
                       $('.loader-container').fadeOut(300,function(){$('.blocks .table tbody').ready().ajaxComplete();});
                    });
                }else{
                    if(searchStr.length>2){
                       $('main').removeClass('custom_blur').addClass('custom_no_blur');
                       $('.popup').fadeOut(800,function(){$('.pmc').css({'display':'none'});});
                       $('.loader-container').fadeIn(300);
                       let url = '/project/searchAjax/';
                       $.post(url,{searchStr:searchStr,searchField:searchField,searchStatusId:searchStatusId,searchSort:searchSort},function(data){
                           $('.blocks .table tbody').html(data);
                           $('.pagination').hide();
                           $('.loader-container').fadeOut(300,function(){$('.blocks .table tbody').ready().ajaxComplete();});
                        });
                    }else{alert('Запрос должен быть не менее 3-х символов!');}
                }
            }
			$('.search_input').keydown(function(event){if(event.keyCode===13){sendPostAndAnimate();}});
            $('.popup__footer__submit').on('click',function(){sendPostAndAnimate();});
            function setDefaultPropClosePopup(){
                $('main').removeClass('custom_blur').addClass('custom_no_blur');
                $('.popup').fadeOut(800,function () {$('.pmc').css({'display':'none'});});
                $('.search_input').off();
                $('.popup__footer__submit').off();
            }
            $('.pmc_close').on('click',function(){setDefaultPropClosePopup();});
            $('.popup_close').on('click',function (){setDefaultPropClosePopup();});
        });
    });
})(jQuery);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В каком направлении и сколько раз был прокручен скролл webrepa Events/DOM/Window 19 12.02.2016 14:45
Почему пустой alert? Saibot1344 Элементы интерфейса 18 22.01.2013 23:46