Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обрезать текст по условию (https://javascript.ru/forum/dom-window/63294-obrezat-tekst-po-usloviyu.html)

sashgera 29.05.2016 15:49

Обрезать текст по условию
 
Здравствуйте
Если див с классом c_name будет по ширине больше дива с классом c_wrap, то по условию текст обрезается, оставляя последние 10 символов
Пожалуйста, подскажите, как обрезать текст ровно на столько символов, чтобы ширина дива .c_name не превысила ширину .c_wrap

(white-space:nowrap;overflow.... мне не подойдет)
<div id="page_site" style="width: 300px;"> <!-- ширина страницы сайта -->
	<div class="c_wrap" style="border: 1px solid #E6E6E6; height: 20px;">
		<div class="c_name" style="float: left;">
		1234567890абвгдежзик1234567890лмнопрст1234567890
		</div>
	</div>
</div>

<script>
$(document).ready(function(){
 wrp = $('.c_wrap').outerWidth();
 nam = $('.c_name').outerWidth();
 if(wrp <= nam) {
  $(".c_name").text('... ' + $(".c_name").text().slice(-10));
 }
});
</script>

DynkanMaclaud 29.05.2016 19:13

sashgera,
https://jsfiddle.net/2mdv5rkp/13/

sashgera 29.05.2016 19:34

DynkanMaclaud, спасибо!

sashgera 30.05.2016 13:43

DynkanMaclaud, подскажите пожалуйста, как в вашем примере, обрезать текст с начала (сейчас текст обрезается с конца) и как перед обрезанным текстом показать троеточие '...'

DynkanMaclaud 30.05.2016 13:56

sashgera,
https://jsfiddle.net/2mdv5rkp/15/
Но с ... ширина будет больше 300 (в данном примере) или надо чтобы была меньше с ... ?

sashgera 30.05.2016 14:17

DynkanMaclaud, спасибо!

sashgera 30.05.2016 14:27

DynkanMaclaud, только что заметил, обрезанный текст с троеточием не умещается в диве

DynkanMaclaud 30.05.2016 14:44

sashgera,
https://jsfiddle.net/oj7d7k0b/
особо не тестил если что пиши...

sashgera 30.05.2016 14:59

DynkanMaclaud, да теперь все OK, еще раз спасибо!


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