Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2009, 15:32
Аспирант
Отправить личное сообщение для andreyua Посмотреть профиль Найти все сообщения от andreyua
 
Регистрация: 18.10.2009
Сообщений: 42

Как обрезать строку и добавить символы в середине, в зависимости от длинны строки
Есть например строка, текст ссылки:
http://support.creative.com/downloads/welcome.aspx?nLanguageLocale=1033&nDriverType=1#type_1


В FF, при наведении на нее в Букмарках строка превращается , как на картинке, то есть обрезается слева и справа, в середину добавляются троеточие в случае, если количество символов даной строки превысило допустимое значение.



Если:
str=http://support.creative.com/downloads/welcome.aspx?nLanguageLocale=1033&nDriverType=1#ty pe_1
то как сделать чтобы :
str="как на картинке"
Средствами регулярных выражений или может быть как то по другому.
Сильно не пинайте, так как пока полный ньюб !
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2009, 15:57
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

if (str.length > 40) str = str.slice(0, 10) + '...' + str.slice(-10);
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2009, 17:22
Аспирант
Отправить личное сообщение для andreyua Посмотреть профиль Найти все сообщения от andreyua
 
Регистрация: 18.10.2009
Сообщений: 42

Благодарю
Ответить с цитированием
  #4 (permalink)  
Старый 14.01.2010, 20:32
Новичок на форуме
Отправить личное сообщение для boobellka Посмотреть профиль Найти все сообщения от boobellka
 
Регистрация: 14.01.2010
Сообщений: 4

Пытаюсь применить подсказку Riim. Не получается. Что не так?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>

<div id="nem" class="tab" style="background:#000000; width:300px; color:#ffffff; left:0px;top:0px;" onclick="alert(s);">11dfsdsvfsdm,nj ;kljcvscxcvxvc3222sbhjjshbdcvhjkvbshjcbshjcbjsdbch sbf11weqwe333</div>

<script language="JavaScript">
var nem1 = document.getElementById('nem');
var str = nem1.length;
if (str.length > 10) str = str.slice(0, 5) + '...' + str.slice(-5);
</script>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2010, 21:35
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от boobellka
var str = nem1.length;
nem1 это DOM-объект
если вы хотите получить доступ к етксту внутри него, то следует использовать innerHTML
PS Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2010, 12:11
Новичок на форуме
Отправить личное сообщение для boobellka Посмотреть профиль Найти все сообщения от boobellka
 
Регистрация: 14.01.2010
Сообщений: 4

Помогло. Работает вот так:

<div id="nem" class="tab" style="background:#000000; width:300px; color:#ffffff; left:0px;top:0px;" >11dfsdsvfsdm,nj ;kljcvscxcvxvc3222sbhjjshbdcvhjkvbshjcbshjcbjsdbch sbf11weqwe333</div>

<script language="JavaScript">
var str=0;
var nem1 = document.getElementById('nem').innerHTML;
var str = nem1.length;
if (str > 20) {nem1 = nem1.slice(0, 5) + '...' + nem1.slice(-5);}
document.getElementById("nem").innerHTML = nem1;
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 15.01.2010, 12:13
Новичок на форуме
Отправить личное сообщение для boobellka Посмотреть профиль Найти все сообщения от boobellka
 
Регистрация: 14.01.2010
Сообщений: 4

Теперь другая задача возникла.
Надо в промежуток между словом и картинкой вставить точки.
Вся строка фиксированной величины - 300px.
Слово - не фиксированной величины, изменяемо.
Ответить с цитированием
  #8 (permalink)  
Старый 15.01.2010, 12:16
Новичок на форуме
Отправить личное сообщение для boobellka Посмотреть профиль Найти все сообщения от boobellka
 
Регистрация: 14.01.2010
Сообщений: 4

Результат: http://muscol.ru/catalog.php?var=1
Вопрос решен частично, но не красиво, вставлена в общем диве фоновая картинка с repeat-x. Можно ли аккуратно это сделать с помощью js?
Ответить с цитированием
  #9 (permalink)  
Старый 15.01.2010, 12:58
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #10 (permalink)  
Старый 25.06.2010, 16:36
Интересующийся
Отправить личное сообщение для Dronch Посмотреть профиль Найти все сообщения от Dronch
 
Регистрация: 09.10.2008
Сообщений: 10

Понимаю, что вопрос элементарный но все таки.
Есть строка типа vasya.popov [50%]. Надо пробежаться по строке с лева на право до первого пробела, и отбросить все что после пробела, включая сам пробел. Т.е. должно остаться vasya.popov.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт бегущей строки - как сделать строку непрерывной dansury Элементы интерфейса 9 26.01.2013 04:54