Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поочердёная смена бэкграунда

39K
29 июля 2008 года
Trust
9 / / 29.07.2008
Есть шаблон вывода товара, есть список, куда эти товары выводятся. Нужно сделать так, чтобы бэкграунд менялся поочерёдно: чёрный-белый, к примеру.

Идеальный вариант - это написание функции прямо в шаблоне товара. Фон прописан обычным стилем: style="background:black".

Я в php полный ноль. Можете мне разжевать что и как:o
244
29 июля 2008 года
UAS
2.0K / / 19.07.2006
Ну если в пхп ноль, тогда пишите на JavaScript. Делаем переменную bg. Если она 0 - то черный фон, если 1, то белый. Пишем в куки. Далее при загрузке страницы читать куки, ставить нужный фон, переписать куки с 0 на 1 или наоборот.
Если на пхп, то принцип тот же, но использовать сессии.
Или в параметрах, передаваемых скрипту, передавать так же 0 или 1, указывающие на фон и формировать уже тогда в шаблоне
39K
29 июля 2008 года
Trust
9 / / 29.07.2008
UAS, для меня js и php это одно и тоже:(
Можете привести конкретный кусок кода или ссылку подкинуть? Да... js может быть отключён пользователем, поэтому лучше пхп
244
29 июля 2008 года
UAS
2.0K / / 19.07.2006
Фрагмент вашего шаблона (и как происходит подстановка). Это надо. Тогда сделаю пример сразу на вашем коде
39K
29 июля 2008 года
Trust
9 / / 29.07.2008
Вот шаблон полностью
Цитата:
<div style="width:100%;padding: 0px 3px 3px 3px; background:#ffffff">
<div style="float:left;width:20%;">
<script type="text/javascript">//<![CDATA[
document.write('<a href="java script:void window.open(\'{image_url}product/{product_full_image}\', \'win2\', \'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width={full_image_width},height={full_image_height},directories=no,location=no\');">');
document.write('<img src="{product_thumb_image}" {image_height} {image_width} border="0" title="{product_name}" alt="{product_name}" /></a>' );
//]]></script>
<noscript>
<a href="{image_url}product/{product_full_image}" target="_blank" title="{product_name}">
<img src="{product_thumb_image}" {image_height} {image_width} border="0" title="{product_name}" alt="{product_name}" />
</a>
</noscript>

</div>
<div>
<h3><a style="font-size: 16px; font-weight: bold;" title="{product_name}" href="{product_flypage}">
{product_name}</a>
</h3>

<div style="float:left;width:80%;">
{product_s_desc}&nbsp;
<a href="{product_flypage}" title="{product_details...}">{product_details...}...</a>
</div>
<br style="clear:both" />
<div style="float:left;width:30%; margin-left:3px; text-decoration:underline; color:#333333">
{product_price}
</div>
<div style="float:left;width:30%;text-align:center">
{form_addtocart}
</div>
<div style="float:left;width:30%;">
{product_rating}
</div>
</div>
</div>

244
29 июля 2008 года
UAS
2.0K / / 19.07.2006
Нужному диву добавляешь свойство id="needleBG"
Далее добавить этот скрипт:
Код:
<script type="text/javascript">
function set_cookie(name, value) {
    document.cookie = name + "=" + escape(value) + ";";
}
function get_cookie(name) {
    cookie_name = name + "=";
    cookie_length = document.cookie.length;
    cookie_begin = 0;
    while (cookie_begin < cookie_length) {
        value_begin = cookie_begin + cookie_name.length;
        if(document.cookie.substring(cookie_begin, value_begin) == cookie_name) {
            var value_end = document.cookie.indexOf (";", value_begin);
            if (value_end == -1) {
                value_end = cookie_length;
            }
            return unescape(document.cookie.substring(value_begin, value_end));
        }
        cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
        if(cookie_begin == 0) {
            break;
        }
    }
    return null;
}

window.onload = function () {
    var needleCookie = get_cookie("order");
    if( needleCookie != null ) {
        if( needleCookie == 0 ) {
            document.getElementById("needleBG").style.backgroundColor = "black";
            set_cookie("order",1);
        } else {
            document.getElementById("needleBG").style.backgroundColor = "white";
            set_cookie("order",0);
        }
    } else {
        set_cookie("order",0);
    }
}
</script>
39K
30 июля 2008 года
Trust
9 / / 29.07.2008
Не меняется:(
Вот
244
30 июля 2008 года
UAS
2.0K / / 19.07.2006
Извините, ну а что </head> делает после моего <script> в середине текста? Тем более, мой пример работает, но в обычной странице, а не встроенной в Joomla. Значит проблема не в нем, а в общем коде. Где-то имена может пересеклись, где-то window.onload не сработал. Да и функцию желательно все так в head засуньте.
Так что открываем в мозилле консоль ошибок, и по ней все правим.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог