Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как зделать такое? (https://javascript.ru/forum/dom-window/8069-kak-zdelat-takoe.html)

Octane 06.03.2010 20:17

Цитата:

Сообщение от JAre
кто этим будет заниматься?

вы сами начали варианты с нейронными сетями предлагать, а тут вдруг отображения с помощью JS напугались :D

Цитата:

Сообщение от JAre
Донеси эту мысль офисному планктону и домохозяйкам.

Это относится в большей степени к IE6, а в нем есть VML, так что проблема решается так же, как и для нового IE8. А доля других старых браузеров, не поддерживающих эти технологии, пренебрежительно мала.

JAre 06.03.2010 20:17

Цитата:

Сообщение от Octane (Сообщение 47015)
вы сами начали варианты с нейронными сетями предлагать, а тут вдруг отображения с помощью JS напугались :D

Я не про разработку, а про поддержку силами сотрудников магазина. Нейронная сеть простой(ага звучит громко, на самом деле это просто умножалка и складывалка) но ненадежный инструмент для уменьшения гемороя владельцу. Канвасы и векторная графика - напротив...

надо завязывать. А то это уже полный оффтоп. У автора нет даже доступа к фоткам, какие тут хайтыки могут быть? Нужно просто наладить подгрузку и отображение с возможностью расширения.

Gozar 06.03.2010 20:29

Нечего тут налаживать, овчинка выделки не стоит.

PeaceCoder 06.03.2010 22:24

Цитата:

Сообщение от Octane
еще и jQuery

+1. Ради 10 строк кода, включать его. Его походу включают уже где надо и где нет...

Цитата:

Сообщение от JAre
Такое на JS сделать трудно.

Вот как раз на JS и реально, а jQ тут даже лишним будет =)

JAre 06.03.2010 22:35

Легко и перенасимо, да еще и можно будет так же легко загружать данные как во flash? А примеры есть? Вот мой пример http://wow.incgamers.com/blog/commen...aracter-feeds/ Есть что-то такого масштаба на JS?

Цитата:

+1. Ради 10 строк кода, включать его. Его походу включают уже где надо и где нет...
Подход в корне неверный. Тут 10 строк, там 10 строк, код превращяется в кучу мусора с кучей дублированных вставок бразерозависимого кода. А потом хвататся за голову и переписывать весь код? Нет, ну если есть желание усложнять себе жизнь... ИМХО лучше сразу писать на jQ чем потом иметь гемор.

Я подключил JQ в шапку один раз и больше не парюсь. Расширяй сколько хочеш, нужно - добавлю еще и палгин какой. + повторное использование.

И вообще нужно читать внимательно. Я привел списоr приемуществ Флеша для векторного 2Д и тем более 3Д (по крайней мер до webGL) В первую очередь это развитое IDE и переносимость. Это первое на, что приходится обратить внимание при решении даже мелких задач.


PS. Прошено же, по теме... Опять понесло блин.

Gibor21 07.03.2010 00:29

Octane,
Круть! Попрубую это реализовать! Спасибо, в ЛС кинь номер кошелька или телефона, положу обещанные 500р:)

JAre 07.03.2010 01:58

Для всех неверующих в мощь JQ:
Практически за 5 минут можно сделать свапалку, которая:
Разделяет стиль, данные, представление(html), JS сценарии.
Код, отвечающих за создание представления, может выполнятся как на стороне клиента(как сейчас) так и сервера. На клиенте = экономия ресурсов.

В итоге. Спец по рюшечкам работает с CSS. Спец по верстке с HTML, ну а мы кодим JS и никто ни от кого не зависит.

Этот костяк, очень гибок и масштабируем!
Код страницы:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="goods_nav"></div>
<script>$.getScript('js/build_it.js');</script>
</body>
</html>


Сам скрипт:
$.getScript('js/jquery.xslt.js', function(){
	$('#goods_nav').xslt({xmlUrl: 'service/goods.xml', xslUrl: 'service/standard_display.xsl'});
});


и транслятор:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet>
    <xsl:template match="/">
        <xsl:apply-templates select="box/default"/>
    </xsl:template>
    <xsl:template match="box/default">
        <img src="{.}" id="goods_img" />
    </xsl:template>
 

        <xsl:template match="/">
            <xsl:apply-templates select="box/img"/>
        </xsl:template>
        <xsl:template match="box/img">
            <img src="{@icn}" onclick="$('#goods_img').attr('src', '{.}')" onMouseOver="$(this).attr('style','cursor:pointer');"/>
        </xsl:template>        

</xsl:stylesheet>


вот сборка: http://fileua.com/download.php?file=...ca7e78d8db0a9e

JS из транслятора можно вынести, для инкапсуляции или заменить на хэндл, но это ДЕМКА и тут главное наглядность.
goods.xml в рабочем коде может быть ...goods.xml?type=box - выбирается модель при переходе на страницку выбора цвета. Естественно goods.xml может содержать куда больше информации: рейтинги, цены, описание и тп. и тд. И всё это можно добавить в любой момент. Так же можо полностью изменить внешний вид страницы не трогая данные через display.xsl?type= то же на любой стадии.

ЗЫ. Я не учавствую в конкурсе ;)

Kolyaj 07.03.2010 10:26

Цитата:

Сообщение от JAre
Разделяет стиль, данные, представление(html), JS сценарии.

Вот как раз представление и js он не разделяет. Т.е. переверстал страницу, будь добр скрипты переписать, ибо там в каждой строчке куча селекторов, которые уже неактуальны для новой вёрстки.

JAre 07.03.2010 13:30

Kolyaj
Окей.

$.getScript('js/jquery.xslt.js', function(){
	$('#goods_nav').xslt({xmlUrl: 'service/goods.xml', 
						 xslUrl: 'service/standard_display.xsl',
						 callback: function() {
		$.ajax({ url: "js/standard_display.js", 
				 dataType: "script",
				 cache: true				 
		       });
	}
						 });
});


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet>
    <xsl:template match="/">
        <xsl:apply-templates select="box/default"/>
    </xsl:template>
    <xsl:template match="box/default">
        <img src="{.}" id="goods_img" />
    </xsl:template>
 
    <xsl:template match="/">
        <xsl:apply-templates select="box/img"/>
    </xsl:template>
    <xsl:template match="box/img">
        <img name="goods_nav_btn" src="{@icn}" g_img="{.}" />
    </xsl:template>  
</xsl:stylesheet>


$('[name=goods_nav_btn]').click(function(){
	  $('#goods_img').attr('src', $(this).attr('g_img'));
});

Kolyaj 07.03.2010 17:15

JAre,
и что это доказывает?


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