Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый Вчера, 14:24
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 145

Плагин для переноса слов по слогам
Здравствуйте
Нашел на github плагин для переноса слов по слогам
Немного изменил плагин, что бы перенос слов был и в латинице
RusLatA - добавил буквы английского алфавита
RusLatV - добавил гласные буквы английского алфавита
RusLatN - добавил согласные буквы английского алфавита

Но теперь появилась такая проблема - в тексте есть див '#line_break', который используется в качестве разделителя и стили этого дива игнорируются
если убрать из RusLatV буквы английского алфавита (aeiou), тогда все норм, стили дива выполняются
Код:
<style type="text/css">
#test{
	width:110px;
	height:300px;
	background:#CF9;
	text-align:justify;
}
#line_break{
	width:100%;
	height:1px;
	font-size:1px;
	margin-top:3px;
	border-top:1px dotted currentColor;
}
</style>

<button onclick="transfer();">перенос текста</button>

<div id="test">
    проверка переноса слов латиницы и Cyrillic по слогам
    <div id='line_break'></div>
    test переноса слов после разделителя
</div>

<script type="text/javascript">
$.fn.hyphenate = function(){
	var RusLatA = "[abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя]";
	var RusLatV = "[aeiouаеёиоуыэю\я]";
	var RusLatN = "[bcdfghjklmnpqrstvwxyzбвгджзклмнпрстфхцчшщ]";
	var RusLatX = "[йъь]";
	var Hyphen = "\xAD";
	var re1 = new RegExp("("+RusLatX+")("+RusLatA+RusLatA+")","ig");
	var re2 = new RegExp("("+RusLatV+")("+RusLatV+RusLatA+")","ig");
	var re3 = new RegExp("("+RusLatV+RusLatN+")("+RusLatN+RusLatV+")","ig");
	var re4 = new RegExp("("+RusLatN+RusLatV+")("+RusLatN+RusLatV+")","ig");
	var re5 = new RegExp("("+RusLatV+RusLatN+")("+RusLatN+RusLatN+RusLatV+")","ig");
	var re6 = new RegExp("("+RusLatV+RusLatN+RusLatN+")("+RusLatN+RusLatN+RusLatV+")","ig");
	this.each(function(){
		var text=$(this).html();
		text = text.replace(re1, "$1"+Hyphen+"$2");
		text = text.replace(re2, "$1"+Hyphen+"$2");
		text = text.replace(re3, "$1"+Hyphen+"$2");
		text = text.replace(re4, "$1"+Hyphen+"$2");
		text = text.replace(re5, "$1"+Hyphen+"$2");
		text = text.replace(re6, "$1"+Hyphen+"$2");
		$(this).html(text);
	});
};

function transfer(){
	$("#test").hyphenate();
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый Вчера, 14:38
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,832

Вы для своей магии используете не текстовое содержимое блока, а его html-разметку. Из-за этого, возможно, верстка блока нарушается и ваш блок #line_break дематериализуется.

Код - мое почтение. Без бутылки-другой даже пытаться разобраться - страшно.
Ответить с цитированием
  #3 (permalink)  
Старый Вчера, 16:09
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 145

Сообщение от Nexus
блок #line_break дематериализуется
Nexus, блок #line_break не удаляется, удаляются стили этого дива
и как я уже писал выше, если из RusLatV убрать буквы английского алфавита (aeiou), тогда стили не удаляются
Ответить с цитированием
  #4 (permalink)  
Старый Вчера, 16:47
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 145

изменил название дива #line_break на #lb
исключив в названии гласные буквы, костыль конечно, но так все работает - стили дива не удаляются
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно вызвать массив biryukovm Элементы интерфейса 3 19.03.2018 13:31
Скрипт переноса по слогам не работает life-life Элементы интерфейса 0 18.10.2017 17:19
Плагин для Wordpress Xmas Lights Сергей89 Общие вопросы Javascript 0 14.01.2015 19:30
нужен плагин для плавного скрола hardware jQuery 2 08.01.2014 22:04
Плагин для файрфокса - чтение изображений SunnyDay Общие вопросы Javascript 4 28.04.2009 17:30