Показать сообщение отдельно
  #1 (permalink)  
Старый 17.05.2012, 14:52
Интересующийся
Отправить личное сообщение для MsVasia Посмотреть профиль Найти все сообщения от MsVasia
 
Регистрация: 09.04.2012
Сообщений: 10

Не срабатывает функция при первом запуске сайта
Не срабатывает функция при первом запуске сайта, либо при ctrl+f5(алерты в функции не срабатывают), после обычного обновления страницы все функционирует в IE9 и Опере такой проблемы не возникает.

<script type="text/javascript" language="javascript">			
			(function ($) {
				$().ready(function () {

					$("button").button();

					var $select = $('#search select');

					// Инициализируем дополнительные элементы
					var $selectBoxContainer = $('<div>', {
						class: 'searchSelect',
						html: '<div class="selectBox"><b></b></div>'
					});

					var $dropDown = $('<ul>', {
						class: 'dropDown'
					});

					var $selectBox = $selectBoxContainer.find('div.selectBox');

					// Добавляем элементы исходного списка в созданный ul
					$select.find('option').each(function (i) {
						var $option = $(this);
					
						//if ($select.attr('selectedIndex') == i) {
						if ($select.val() == $option.val()) {
							$selectBox.children('b').html($option.text());
						}

						var $li = $('<li>', {
							html: $option.text(),
							click: function () {

								// Имитируем поведение select и изменяем его значение
								$selectBox.children('b').html($option.text());
								$dropDown.trigger('hide');
								$select.val($option.val());

							}
						});

						$dropDown.append($li);
					});

					$selectBoxContainer.append($dropDown.hide());
					$select.hide().after($selectBoxContainer);

					// Пользовательские события для ul списка
					$dropDown.bind('show', function () {

						if ($dropDown.is(':animated')) {
							return;
						}

						$selectBox.addClass('expanded');
						$dropDown.slideDown(200);

					}).bind('hide', function () {

						if ($dropDown.is(':animated')) {
							return;
						}

						$selectBox.removeClass('expanded');
						$dropDown.slideUp(200);

					}).bind('toggle', function () {
						if ($selectBox.hasClass('expanded')) {
							$dropDown.trigger('hide');
						} else
							$dropDown.trigger('show');
					});

					$selectBox.click(function () {
						$dropDown.trigger('toggle');
						return false;
					});

					// Свернем список, если ничего не выбрано
					$(document).click(function () {
						$dropDown.trigger('hide');
					});
				});

		})(jQuery);
			</script>

Последний раз редактировалось MsVasia, 17.05.2012 в 15:20.
Ответить с цитированием