Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обрезание строки (https://javascript.ru/forum/misc/10823-obrezanie-stroki.html)

Vulkan 23.07.2010 07:20

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="Обрезать текст">

Tregan 25.07.2010 17:08

Спасибо. а как сделать без input. Чтобы срабатывало примерно так: если превышает 50 символов то обрезать последних 3 символа и их заменить троеточием. и это правило присвоить к блоку или к опредиленному тегу <p>.?

float 25.07.2010 17:47

document.body.onload = function() {str_slice('perechen', 50);}

float 25.07.2010 18:05

А блин... Лис чёртов...
Короче буде поместить это перед</body>
<script type="text/javascript">str_slice('perechen', 50);</script>

float 25.07.2010 18:07

или вот так

if (window.attachEvent) {
window.attachEvent("onload", function() {str_slice('perechen', 50);});
} else {
window.addEventListener("load",  function() {str_slice('perechen', 50);}, false);
}

float 25.07.2010 18:23

А, блин, я лошара.
window.onload = function() {str_slice('perechen', 50);}

Извиняюсь... Просто сам ими никогда не пользуюсь:cray:

Vulkan 25.07.2010 19:04

float :) Вообще-то есть функция редактирования и удаления сообщений.

Tregan 26.07.2010 12:08

Спасибо за помощь!


Часовой пояс GMT +3, время: 22:57.