1. JavaScript / Говнокод #3791

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    function createIMG(src,id,width,height,border)
    {
    	var s='<IMG SRC=';
    	s+=addquo(src);
    	if(id!='')
    		s+=' ID='+id;
    	if(width&&height)
    	{
    		if(width>0)
    			s+=' WIDTH='+width;
    		if(height>0)
    			s+=' HEIGHT='+height;
    	}
    	s+=' BORDER='+border+'>';
    	return s;
    }

    Оно делает картинку

    Запостил: ursus, 27 Июля 2010

    Комментарии (22) RSS

    • http://www.vash-otel.ru/
      адрес говна. это не тот чьё имя нельзя называть но у меня есть идея их скрестить
      Ответить
      • мда
        <!--- Главная ------->
        nimg1 = new Image()
        nimg1.src = "left1.jpg"
        nimg2 = new Image()
        nimg2.src = "left2.jpg"

        <!--- описание отеля ------->
        nimg3 = new Image()
        nimg3.src = "left4.jpg"
        nimg4 = new Image()
        nimg4.src = "left5.jpg"

        <!--- номерной фонд ------->
        nimg5 = new Image()
        nimg5.src = "left7.jpg"
        nimg6 = new Image()
        nimg6.src = "left6.jpg"
        итд...
        это уже о многом говорит
        Ответить
        • дооо! я их думаю скрестить. это чувак отослал мне резюме на вакансию программист C# с БОЛЬШИМ опытом работы. вот что ему написать. правду?
          Ответить
          • Что на заборе написано, то и ему напишите.
            Ответить
    • нет слов...
      по-моему, усрус таки запостил реально годный говнокод
      Ответить
    • я в дизайне не особо волоку... тут что, через CSS надо?
      Ответить
    • а из-за чего весь сыр бор, собственно?
      конечно, можно сделать через тру DOM, но производительность браузеров при добавлении через старый добрый innerHTML быстрее, это факт.
      Ответить
      • нет, это не факт. корректнее использовать documentfragment.
        Ответить
      • 1) нет, это не факт.
        2) код может вызвать ошибку, если HTML не будет нормальным.
        3) упускается экранирование
        4) вообще собирать картину вручную , при наличии объекта Image -- глупо
        Ответить
        • 1) по-моему, на квирксмод.орг было опубликованы данные замеров скорости создания большой таблицы через ДОМ и через иннерХТМЛ - разница весьма впечатляющая в пользу второго варианта. Про documentfragment там вроде не было, но если у вас есть данные такого сравнения - будет интересно узнать.
          2) ну и javascript может вызвать ошибки, если он не будет нормальным. речь же не об ошибках.
          3) экранирование чего именно - урла, больше вроде экранировать нечего? так может для этого там и стоит в 4 строке вызов какой-то функции "addquo"?
          4) возможно.
          Ответить
          • вот, нашел ссылку
            http://www.quirksmode.org/dom/innerhtml.html
            Ответить
            • в опере 100500 картинок 85х85 через new Image()/appendChild() добавляются за ~19 сек, innerHTML += '<IMG SRC="итд" много медленнее (фактически мне надоело ждать)
              Ответить
              • ну все, придется проводить свое независимое тестирование.
                кстати, а Вы вызывали innerHTML += '<IMG SRC="итд" для каждой картинки? тогда ой! если я угадал - попробуйте сначала сформировать строку со всеми 100500 картинками, а потом уже innerHTML += all_imgs;
                Ответить
                • читерство, не френдли - нагнет браузер, а всякие интернет эксплореры наверняка будут плеваться диалогами с предложением абортировать скрипт

                  14671 msec DOM 0
                  6571 msec innerHTML
                  10572 msec DOM 0 с элементами off-screen (не умею в childNodes массив целиком записать, так что - грубо)

                  мне уже лень, но чистый эксперимент, дающий равные условия обоим подходам ставить уже лень
                  Ответить
    • if(width&&height) - хаха
      Ответить
    • - У тебя вообще-то выбора нет. Я из дома ушёл, - абсолютно спокойным голосом просветил меня Павел.
      Ответить

    Добавить комментарий