Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Оптимизация скрипта обводки текста на jquery


Автор: atomdx 17.12.2010, 22:15
Здравствуйте!

Нужна помощь по оптимизации скрипта на jquery.

При верстке для обводки текста использовал скрипт отсюда http://html-css.info/2010/08/stroke-text-css-js/

В данный момент на странице используется 8 элементов с такой обводкой.

Код выглядит так:
Код

$(document).ready(function () {
    var text = $('.textBorder1 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder1').append(textinner);
    
    var text = $('.textBorder2 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder2').append(textinner);
    
    var text = $('.textBorder3 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder3').append(textinner);
    
    var text = $('.textBorder4 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder4').append(textinner);
    
    var text = $('.textBorder5 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder5').append(textinner);
    
    var text = $('.textBorder6 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder6').append(textinner);
    
    var text = $('.textBorder7 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder7').append(textinner);
    
    var text = $('.textBorder8 strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorder8').append(textinner);
});


Можно ли как-то оптимизировать скрипт, чтобы для каждого нового элемента не добавлять такой блок кода:
Код

var text = $('.textBorderN strong').html();
    var textinner = '<span class="b1">'+text+'</span>'+'<span class="b2">'+text+'</span>'+'<span class="b3">'+text+'</span>'+'<span class="b4">'+text+'</span>'+'<span class="b5">'+text+'</span>'+'<span class="b6">'+text+'</span>'+'<span class="b7">'+text+'</span>'+'<span class="b8">'+text+'</span>';
    $('.textBorderN').append(textinner);


Заранее спасибо!

Автор: ksnk 18.12.2010, 02:01
atomdx, Чем эти блоки строчек отличаются друг от друга в состоянии определить? Строковые операции в javaScript в школе проходили? Про циклы что-нибудь известно?



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)