Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2012, 02:11
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

Проблемы с кодом в jquery 1.8(работает стабильно с jquery 1.5)
Добрый день. Проблема после перехода на jquery 1.8
проблема в том, что криво создается <span class="CBPart"> (позиционирование и background-image).
Как исправить лаг?

Исходники здесь Checkbox.zip

Насколько могу понять проблема кроется здесь
html:	'<span class="CBContent">'+labels[this.checked?0:1]+
						'</span><span class="CBPart"></span>'


полный код скрипта:
(function($){
	$.fn.Checkbox = function(options){
		
		// Default On / Off labels:
		
		options = $.extend({
			labels : ['ON','OFF']
		},options);
		
		return this.each(function(){
			var originalCheckBox = $(this),
				labels = [];

			// Checking for the data-on / data-off HTML5 data attributes:
			if(originalCheckBox.data('on')){
				labels[0] = originalCheckBox.data('on');
				labels[1] = originalCheckBox.data('off');
			}
			else labels = options.labels;

			// Creating the new checkbox markup:
			var checkBox = $('<span>',{
				className	: 'CheckBox '+(this.checked?'checked':''),
				html:	'<span class="CBContent">'+labels[this.checked?0:1]+
						'</span><span class="CBPart"></span>'
			});

			// Inserting the new checkbox, and hiding the original:
			checkBox.insertAfter(originalCheckBox.hide());

			checkBox.click(function(){
				checkBox.toggleClass('checked');
				
				var isChecked = checkBox.hasClass('checked');
				
				// Synchronizing the original checkbox:
				originalCheckBox.attr('checked',isChecked);
				checkBox.find('.CBContent').html(labels[isChecked?0:1]);
			});
			
			// Listening for changes on the original and affecting the new one:
			originalCheckBox.bind('change',function(){
				checkBox.click();
			});
		});
	};
})(jQuery);
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2012, 00:15
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

var checkBox = $('<span>',{
class : 'CheckBox '+(this.checked?'checked':''),
html: '<span class="CBContent">'+labels[this.checked?0:1]+'</span><span class="CBPart"></span>'
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с разрешением экрана и jquery javascript raffx Элементы интерфейса 2 07.12.2012 16:53
Проблемы с jquery fancybox В IE не загружаются картинки pav8909 Общие вопросы Javascript 3 09.09.2011 10:46
jQuery проблемы с раскрывающимся списком teclis jQuery 3 24.08.2010 12:25
Проблемы с jquery на хосте Hetfield jQuery 7 13.06.2009 02:55
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37