js автовыбор опции селекта после рефреша страницы

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
// get параметр filter_campaign
var filter_campaign = getParameterByName('filter_campaign')
if(filter_campaign != ''){
        // опции селекта filter_campaign
	var opts = document.getElementsByName("filter_campaign")[0].getElementsByTagName('option');
	var opts2 = Array.from(opts)
	opts2.forEach(function(item){
	    if(item.value == filter_campaign){
	    	item.setAttribute('selected', true)
	    }
	})
}

fancybox ajax modal

Открытие модалки по скрипту.

  1. Делаем ссылку. Привязываем к ней скрытое мод. окно с необходимым контентом.
<a href="#auth_modal" data-fancybox id="fancybox-auth" class=""></a>

<div class="" style="display: none;">
	<div id="auth_modal">
		<? 		include($_SERVER["DOCUMENT_ROOT"].$templateFolder."/auth.php");
		?>
	</div>
</div>

2. Биндим фенсибокс и открываем триггером на клике

$("#fancybox-auth").fancybox()  
$("#ORDER_CONFIRM_BUTTON").on('click', function(ev){
    $("#fancybox-auth").trigger('click')
}

Chrome js profiler

Js профайлер хрома удобен тем что оказывает очередность исполнения функций. В скрине подробно отметил как запустить, использовать поиск по методу. Нажимаем запись — Start , далее можем просто обновить страницу F5, покликать на разные события, и останавливаем запись — Stop. Появиться файл Profile 1. Для удобства выбираем вид Tree. Поиском находим нашу функцию isValidProperty.

chropme js profiler

chropme js profiler

Кастомизация select

Была задача кастомизации селекта. В интернете есть какие то решения, но порой громоздкие и тяжелые. Вот как будет выглядеть наш селект.


// инкапсулируем объект jQuery
;(function($){
// code

})(jQuery);

(далее…)