Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Плагин обрезающий текст для jQuery (https://javascript.ru/forum/project/21063-plagin-obrezayushhijj-tekst-dlya-jquery.html)

devote 27.08.2011 16:05

Цитата:

Сообщение от melky
я там дал выдержку из документации и подчеркнул кой чего

Да я вкурсе, что можно вернуть false, а про брейк так с дуру ляпнул...

melky 27.08.2011 16:27

devote, еще чуть-чуть.
дальше совершаются операции, о которых ведаете только вы :)
$.fn.correctLines = function( maxLine, moreText ) {

....

        var clone = $( self ).clone( true ).
                css( {"height": "auto", "width": self.offsetWidth + "px"} ).html("W");

        lineHeight = this.css('line-height');

        if ( lineHeight == "normal" ) {

            *!*$( document.body ).append( clone );*/!*
            *!*lineHeight = clone[0].clientHeight;*/!*
            *!*clone.remove();*/!*

        } else if ......

        var height = lineHeight,
            width = self.offsetWidth,
            .....


        *!*$( document.body ).append( clone.empty() );*/!*


$.fn.correctLines = function( maxLine, moreText ) {

....

        var clone = $( self ).clone( true ).
                css( {"height": "auto", "width": self.offsetWidth + "px"} ).html("W");

      
        *!*clone.appendTo( document.body );*/!*


        lineHeight = this.css('line-height');

        if ( lineHeight == "normal" ) {
            lineHeight = clone[0].clientHeight;
        } else if ......

        var height = lineHeight,
            width = self.offsetWidth,
            .....
     

        *!*clone.empty();*/!*

devote 27.08.2011 17:11

Цитата:

Сообщение от melky
clone.empty().appendTo( document.body );

не прокатит, ибо размер блока будет нулевым в этом случае... Я же не просто так создаю клон и сую в него "W" что бы он имел высоту строки.

melky 27.08.2011 17:42

Цитата:

Сообщение от devote (Сообщение 122945)
не прокатит, ибо размер блока будет нулевым в этом случае... Я же не просто так создаю клон и сую в него "W" что бы он имел высоту строки.

прошу прощения. это уже я пропустил empty. поправил. невнимательность :)

devote 27.08.2011 18:04

гуд... ну больше уж точно некуда тут оптимизить, хотя если хорошенько все продумать то вполне возможно и можно.

Gozar 27.08.2011 18:06

Перестало работать

devote 27.08.2011 18:08

Цитата:

Сообщение от Gozar
Перестало работать

Как так? В демонстрашке первого поста все пашет, какой бравзер?

devote 27.08.2011 18:10

да в файрфоксе что-то перестало пахать

devote 27.08.2011 18:12

поправил, убрал знак ~ из кода: ~( lineHeight + '' ).indexOf("px")

devote 27.08.2011 18:21

Ну дык че, полезный хоть миниплаг? Или хренью я занимаюсь? Фишка этого плага в том что он не считает строки по \n <br /> а считает их именно так как ставит браузер, тоесть это удобно например делать там где люди оставляют огромные коменты, и их можно свернуть таким образом. Или иногда на сайтах нужно в каком нить блоке показать часть новостей или чего либо подобного, тоже удобно. Не нужно считать там количество букв, не зная при этом размер шрифта и т.д. Думаю я где нить его точняк пришпандолю в каком нить проекте который буду делать =)


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