За последние 24 часа нас посетили 30502 программиста и 1792 робота. Сейчас ищет 1131 программист ...

Полезный код

Тема в разделе "Прочее", создана пользователем siiXth, 28 июл 2011.

  1. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Вот реально. Сижу такой , дали заказ на визитку , паяю админку ,у мня прям визиточная кмс выходит =D
    И думаю , сделаю странички без релоада на jq , админочку на jq в которой будут создаваться страницы с ббкодами , всё доделал и дошёл до ббкодов. Думаю - найду примерчик простого выделения и обведения тегом - хер! Реально час перебирая возможные варианты реализации от 5 до 200 строк с дефолтной херью. Не , ну парсер конечно дефолтный взял , их напихано везде , а реализации на js , а темболее jq вообще нет.
    В общем давайте тут будем писать простой полезный код , хорошие реализации , а так же его апгрейдить если реализации в гугле нет или она какая-то кривая к тому же мне нужно куда-то бэкапить хрень , а то как всегда потеряю когда понадобится =D А мне хотелось написать побырику , в итоге после часовых поисков написал сам за пару минут.

    [js]function addTag(tag,sect)
    {
    var start=document.getElementById(sect).selectionStart;
    var end=document.getElementById(sect).selectionEnd;
    var text=$('#'+sect).val();
    $('#'+sect).text(text.substring(0, start)+'['+tag+']'+text.substring(start, end)+'[/'+tag+']'+text.substring(end, text.length));
    }[/js]

    В вёрстке
    HTML:
    1. onclick="addTag('b','sect_<? echo $row['id'];?>');
    Обьясняю. У меня много полей на странице потому везде видим sect - это id textarea для того чтобы определить куда что пихать. id например такое sect_15 , тоесть 15 - id записи поля в бд так вынимаю с бд. В идеале было бы не юзать id эл-та , а использовать классы и определять его порядковый номер , но если делать сохранение каждого отдельного поля , то порядковый номер разумеется может не совпадать с id в бд.

    Думаю конечно что я занимался бесполезным делом , где-то оно есть т.к я точно криво искал , но лучше на jq я не нашёл =D
    Дополняйте , критикуйте.
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Психанул , качнул tinymce , happyend.
     
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    оооооочень полезно :))
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Убил бы
     
  5. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    хм , почему ?

    а то , нуеговжо , не для себя ж делаю , да и похоже себе так же влеплю его , хрен с ним =В
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    siiXth
    потому что это маразм.

    и вобще, почему для сайта визитки ты пишешь свою цмс? =) позор.
     
  7. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    клиент не знает чего хочет - обычное дело =D вот пусть tinymceшкой и наполнит =D пункты меню и их содержание

    так почемуу ? мне так проще делать - раз. для клиентов особенно той тематики это "крутоа" - два. в онклике включил загрузку и всё. в href'e стоит прямой линк в котором такая же инфа. отключить смогу поменяв 1 знак в исходнике.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это неудобно

    про цмс: ты потратил кучу времени на то что уже сделано
     
  9. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    хм
    ну самый главный аргумент - это я делаю первую чистую шнягу за деньги , это полезно =) всё-равно что я отказывался от фаербага вообще пока сам не стал понимать как всё работает и где ошибки
    да и в чужих цсм возможно напичкано много, то что я бы пропустил и в итоге не узнал , ну например что динамическая загрузка tinymce под лисой выводится с полностью подвеченными кнопками , без текста и возможностью его добавить/изменить. а сижу такой например через 10 лет пропустив этот материал такой крутой проггер в какой-то пупир крутой конторе и тут такая тупая шняга которую я должен был понять 10 лет назад , но решил проюзать левую кмс в которой уже есть этот фикс. ну потратил я на него 15мин , ну зато допёр сам и потом уже подтвердилось на буржуйском форуме и мне не нужно будет тратить время в будущем когда времени на это возможно не будет. ну вот так вот =)
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    siiXth
    всё-равно что я отказывался от фаербага вообще пока сам не стал понимать как всё работает и где ошибки
    блин. ты все делаешь неправильно. Не надо отказываться от фаербага пока сам все не поймешь. Именно в фаербаге ты все можешь понять за пять минут. Блин. Ты так в говнодрочера привратишься. Давай привыкай пользоваться инструментами.

    siiXth
    такой например через 10 лет пропустив этот материал
    чел, ты перегрелся. :D

    расслабься. там не так многов сего что вобще можно пропустить.
     
  11. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    не , чё. я без файербага когда пишу свой проект вообще не могу , всё ж с 0 пишу, а ошибки либо технические , либо неопытные =) просто я даже не совсем про это говорил. вот ты незнаешь например js/ajax/jq вообще , пишешь скрипт , тут эррор , а дело в том что ты ничего не зная не сможешь хоть с двумя фаербагами определить где ошибка , ты даже её загуглишь и всё-равно не поймёшь и будешь искать методом тыка как её исправить , ну или пойдёшь на пхп.ру кидать код без колортегов и просить помощи :D я спршивал когда вообще ничего не отрезал - научился , теперь спрашиваю нереальные вопросы которые не гуглятся или которые осваивались вероятней всего кем-то годами ))

    ага , по сути остался только диз , а точнее даже менюшка для переключалки контента. цвета не могу подобрать ёпт.
    з.ы. я просто ещё не спал , ууу-уууу-ууу-уу
     
  12. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ага! у меня есть новый агрумент ! =) Кодил я короче пару лет на дле и только тогда узнал что такое register_globals , когда сайт который я делал переехал к другому хостеру и мне пришлось переписывать всё что я написал за долгое время и всё это из-за того что я пропустил даже начальный материал по post/get и сразу двинулся на двиг и хостеров у которых этот параметр был включён =)
     
  13. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    без релоада хреново для СЕО - поисковики не проиндексируют инфу.
     
  14. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    HTML:
    1. <a href="/menu/1" onclick="$('#content').empty().append('content is here');location.href='#/menu/1';return false;">title</a>
    ну у меня так. проиндексируют ?
    href - для сео
    location.href - для юзеров захотящих указать на конкретную страницу
    return false; - чтобы href не сработал

    придумал сам с расчётом на то что убью всех зайцев =)
     
  15. rainarr

    rainarr Активный пользователь

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    ну таким способом проиндексируется только часть того что там подгружается..лучше сделать алтернативную ссылку только где видно все, вот тогда будет круто )
     
  16. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ну блин
    href="/menu/1"
    site.ru/menu/1 выводит контент для индексации

    location.href='#/menu/1'
    site.ru/#menu/1 выводит контент когда юзер зашёл на сайт (для того чтобы могли передавать ссылки на определённые разделы друг-другу)

    onclick="$('#content').empty().append('content is here'); - грузит то что выводит под href="/menu/1"

    а при клике на href="/menu/1" страница не перезагружается из-за return false;
     
  17. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Помните для чего создавалась тема ?
    потребовалось создать простую карусель,тупо картинки друг за другом и перемещать первые в конец - неа , в гугле такого нет , зато есть куча 3д 5д и 100500х каруселей.
    цитата с хабры:
    http://habrahabr.ru/qa/4313/
    что это ? под чем этот чувак ? под чем ?

    какие сложности ? appendTo ?

    как всегда сделал сам с 3 случайными картинками с гугла
    разумеется это очень лекго переделывается как под вертикальную и в обратном вращении карусель.

    http://hq-media.net/uploads/karusel.html

    HTML:
    1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"  type="text/javascript"></script>
    2. $(document).ready(function()
    3. {
    4. function anim()
    5. {
    6. var pos = parseInt($('#slide_content').css('marginLeft'));
    7. var width = $('#slide_content').children('img:first').width();
    8. var distance=pos+width;
    9. $('#imgw').text(width);
    10. $('#pos').text(pos);
    11.     if(pos<width*(-1))
    12.     {
    13.         $('#slide_content').css('marginLeft',distance);
    14.         $('#slide_content').children('img:first').appendTo('#slide_content');
    15.     }
    16. $('#slide_content').animate({marginLeft:'-=1',},15,'linear',anim);
    17. }
    18.  
    19. anim();
    20.  
    21. });
    22. <div>Ширина первой картинки:<span id="imgw"></span><br/>
    23. margin-left всего блока:<span id="pos"></span></div>
    24. <table width="400px" align="center"><tr><td>
    25.  <div id="slideshow" style="width:400px; overflow:hidden; z-index:10; border:3px solid #223442" ><div id="slide_content" style="width:23000;overflow:hidden;"><img height="200px" src="http://foto.rambler.ru/preview/r/500x500/47b7d985-6514-d5fd-9421-4c42f1fb6e99" /><img height="200px" src="http://byaki.net/uploads/posts/1186201289_7.jpg" /><img height="200px" src="http://img1.liveinternet.ru/images/attach/b/2/24/793/24793223_1210589518_120045_192427.jpg" /></div></div>
    26.  </td></tr></table>
    и да
    [js]$('#slide_content').animate({marginLeft:'-=1',},15,'linear',anim);[/js]
    можно так же поставить анимацию хоть на 200пх длиной в 3 секунды , ничего не изменится , даже плавнее будет.

    [js]$('#slide_content').animate({marginLeft:'-=200',},3000,'linear',anim);[/js]
     
  18. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    нормальный, веб-два-нольный подход.
    одобряю.
     
  19. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    спасибо. сейчас будет тупой вопрос - а как это ? 8D
    вообще я себе уже переписал немного

    distance по сути не важна , тупо стаим 0 и всё будет гуд.

    а тут можно ставить marginLeft:-=200 , главное чтобы минимальную ширину картини не превышало , а длительность анимации 3000 , так ничего не теряется и как я полагаю браузер у клиента будет меньше тормозить из-за того что запрос на анимацию станет выполняться в 200раз реже =)