Ограничить действие java скрипта на странице?

(Ответов: 2, Просмотров: 2026)
  1. Опытный Аватар для kabban
    • Регистрация: 16.04.2011
    • Сообщений: 363
    • Репутация: 21
    • Webmoney BL: ?
    Собственно вопрос в том можно ли ограничить действие ява скрипта только на часть кода страницы? а на вторую часть использовать этот же скрипт но с другими переменными?
    Поясню что надо есть стр http://notbadradio.ru/222online.html на ней пытаюсь реализовать 2 плеера на 2 вкладках одной страницы, но суть в том что название композиции транслируется через ява скрипт и переменные данные потока, но если на одной стр разместить 2 потока то переменные конфликтуют и выводятся данные неверно.
    сча реализовал за счет инфрейма второго потока, но както это криво помоему.
    Помогите плиз.
    Заработай РЕАЛЬНЫЕ ДЕНЬГИ играя в простую онлайн игру.
    • 0
  2. Студент Аватар для psy_spray
    • Регистрация: 11.02.2012
    • Сообщений: 31
    • Репутация: 2
    Сам я никогда не делал этого в js, но можно попробовать использовать пространства имен(namespace). Вот, к примеру, статейка:
    http://habrahabr.ru/post/31596/
    • 0
  3. Дипломник Аватар для Faraday
    • Регистрация: 17.04.2011
    • Сообщений: 143
    • Репутация: 30
    Ну я не совсем понял почему и как возникает у вас конфликт, т.к. информации вы дали мало. Что за скрипты, как работают и.т.д.

    Самое простое решение, как мне кажется это немного переделать переключение панелей.
    Сейчас у вас всегда обе вкладки есть в коде, только одна из них style="display: none" - как бы не видна.
    Используйте jQuery метод .remove(). Пусть он убирает ненужную часть кода.

    Есть много вариантов как это сделать на вашем примере (возможно кешировать весь код в переменную, а потом скрывать и показывать). Нужно смотреть как удобнее.

    Например:

    PHP код:
    <!DOCTYPE HTML>
    <
    html>
    <
    head>
    <
    meta charset="utf-8">
    <
    script>
    $(
    document).ready(function(e) {
        
        var 
    page_1 = $("#page1");
        var 
    page_2 = $("#page2");
        
        $(
    "#contain").empty().prepend(page_1);
        
        $(
    "#go_1").click(function(){
            $(
    "#contain").empty().prepend(page_1);
            return 
    false;
            })
        $(
    "#go_2").click(function(){
            $(
    "#contain").empty().prepend(page_2);
            return 
    false;
            })
    });
    </script>
    </head>
    <body>
    <a href="#" id="go_1">1</a> <a href="#" id="go_2">2</a>
    <div id="contain">
         <div id='page1'>Это первая страница</div>
         <div id='page2'>Это вторая страница</div>
    </div>
    </body>
    </html> 
    Это только пример. Здесь сначала кешируем обе страницы (два дива), затем убираем из DOM всё содержимое контейнера <div id="contain">, и вставляем туда какой-нибудь (например первый блок).

    И вешаем обработчики на клики, которые очищают <div id="contain"> при клике на ссылку и вставляют туда то что нужно.

    Таким образом в коде будет только один div, возможно конфликта не будет.

    ЗЫ: если будете делать похожее, не забудьте подключить jQuery.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Даст ли толк подобное действие в поднятии ТИЦ?
Вопросы от новичков 15 12.12.2011 18:17
Вопрос по java на centos
Хостинг и Серверы 0 01.09.2011 14:59
Ищу разработчика java приложений
Софт, скрипты, лицензии 0 22.02.2011 01:39
Проблемка с Java
Web программирование 2 28.11.2010 02:37

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры