Обрезание строки
Добрый день столкнулся с такой проблемой. Незнаю как это зделать может поможете.
Дан блок блоку дан фиксированный размер. в этом блоке идет текст. в блоке вмешается например 50символов текста. сам вопрос как зделать так чтобы текст который бы привешал 50символов. не начил расширять сам блок или переносить на другую строку текст. Гдето видел что решили эту проблему с помощью троеточием. тоесть идет текст и доходя до границы блока начинает отображаться троеточием тем самым говоря что есть продолжения текста. как это можно воплотить в жизнь с помощью css. Или както по дргому?. За рание спасибо. |
if ( element.innerHTML.length > 50 ) { element.innerHTML = element.innerHTML.slice( 0, 50 ) + '…'; } |
Спасибо, а можно по конкретний расписать код ато не сильно понимаю :( как обротится именно к блоку "perechen" в html коде.
<html> <div id="perechen"> <P>тЕКС ТЕКС тЕКС ТЕКС тЕКС ТЕКС тЕКС ТЕКС </P> </div> </html> |
Точней как зделать чтобы выше пречисленное правило действовала именно на определенный блок в html. Очень плохо разбираюсь в Js так что если можно показать подробний.
|
Для этого предназначено свойство
text-overflow: ellipsis , которое даже некоторые браузеры умеют:<div style="width: 120px; white-space: nowrap; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; -moz-text-overflow:ellipsis; -webkit-text-overflow:ellipsis; -ms-text-overflow:ellipsis; ">Lorem ipsum dolor sit amet</div> |
Цитата:
Цитата:
Так что достаточно -o-text-overflow: ellipsis; text-overflow: ellipsis; |
Мне не надо реалтзовывать это с помощью css мне надо с помощью js. почему не с помощью css так как было с казоно что оно НЕКОТРЫМИ браузерами подержуется. А надо сохранить подержку всех браузеров. Обьясните плиз как это добится с помощью JS. За рание благодарин.
|
Tregan,
а вот теперь Вы можете задать вопрос Гуглу: «text-overflow Firefox» |
Хватит разводить базар. я попросил если можите обьяснить с помощью JS а не спомощью css php и.тд. Даже сайт соответствующий javascript.ru!
Еслибы мне надобыло бы с помощью css то я бы и зашол на соотвествующий форум. |
Vulkan, не будет работать.
Вот так правильно: (function () { var node = document.getElementById( "perechen" ), need = 50; if ( node.innerHTML.length > need ) { node.innerHTML = node.innerHTML.slice( 0, need ) + "…"; } })(); |
exec, вчера сонный уже был, забыл что-то код в функцию запихнуть, и innerHTML лучше вынести, сейчас у себя поправлю. Вот:
<script type="text/javascript"> function str_slice(str, need){ var str=document.getElementById(str); //объявление элемента if (str.innerHTML.length > need ) { //если длина содержимого превышает need str.innerHTML = str.innerHTML.slice( 0, 50 ) + '…'; //обрезание строки от 0 до need символа и добавление троеточия }} </script> <div id="perechen">JavaScript — объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса. На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке</div><br> <input type="button" onclick="str_slice('perechen', 50)" value="Обрезать текст"> |
Спасибо. а как сделать без input. Чтобы срабатывало примерно так: если превышает 50 символов то обрезать последних 3 символа и их заменить троеточием. и это правило присвоить к блоку или к опредиленному тегу <p>.?
|
document.body.onload = function() {str_slice('perechen', 50);}
|
А блин... Лис чёртов...
Короче буде поместить это перед</body> <script type="text/javascript">str_slice('perechen', 50);</script> |
или вот так
if (window.attachEvent) { window.attachEvent("onload", function() {str_slice('perechen', 50);}); } else { window.addEventListener("load", function() {str_slice('perechen', 50);}, false); } |
А, блин, я лошара.
window.onload = function() {str_slice('perechen', 50);} Извиняюсь... Просто сам ими никогда не пользуюсь:cray: |
float :) Вообще-то есть функция редактирования и удаления сообщений.
|
Спасибо за помощь!
|
Часовой пояс GMT +3, время: 17:18. |