0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
1

Конфликт скриптов

06.11.2015, 12:42. Показов 2632. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать выдвижную панель на сайте, нашел скрипт в интернете, вставил себе на сайт, не заработал,
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    $(document).ready(function(){
    /*РАЗВЕРНУТЬ ПАНЕЛЬ*/
    $(".btn-slide").click(function(){
        $("#panel1").slideToggle("slow");
        $(".slider").toggleClass('btn-hide');
        $(".slide").toggleClass('btn-hide');
        $(".btn-slider").toggleClass('active');
        return false;
    });
    /*СВЕРНУТЬ ПАНЕЛЬ*/
    $(".btn-slider").click(function(){
        $(".panel1").slideToggle("slow");
        $(".slider").toggleClass('btn-hide');
        $(".slide").toggleClass('btn-hide');
        $(".btn-slider").toggleClass('active');
        return false;
    });  
});
в firebug такая ошибка
TypeError: $(...).ready is not a function
$(document).ready(function(){

Подскажите что делать, предполагаю что конфликт скриптов, прочитал что можно его разрешить с помощью jQuery.noConflict();, но как это сделать не понял.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2015, 12:42
Ответы с готовыми решениями:

Конфликт скриптов
Что делать если скрипт слайдера конфликтует со скриптом меню???

конфликт скриптов
случился конфликт между двумя скриптами, которые работают с изображениями: кусок кода ...

Конфликт скриптов
Подключил скрипт (form/main.js он нужен для страницы с контактами) и все скрипты что раньше...

Отладка скриптов
Доброго. Пишу парсер на шарпе. Скачиваю html страницу, чтобы её спарсить, но, оказывается, часть...

10
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.11.2015, 12:43 2
Цитата Сообщение от kasadas Посмотреть сообщение
нашел скрипт в интернете, вставил себе на сайт
возможно, мой вопрос покажется глупым, но... jQuery подключен?
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
06.11.2015, 12:48  [ТС] 3
<script src="../ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
Вроде как да
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
06.11.2015, 12:50 4
Ваш скрипт не видит Jquery

HTML5
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
Jquery должен быть подключен ДО вашего скрипта
1
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
06.11.2015, 12:58  [ТС] 5
список всех подключенных скриптов
<script src="../ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="plugins/content/soccomments/soc/js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="plugins/content/soccomments/soc/js/jsoccomments.js" type="text/javascript"></script>
<script src="components/com_onepage/assets/js/opcping.js@opcversion=2_0_5F252_280714" type="text/javascript"></script>
<script src="media/system/js/mootools-core.js" type="text/javascript"></script>
<script src="media/system/js/core.js" type="text/javascript"></script>
<script src="media/system/js/caption.js" type="text/javascript"></script>
<script src="media/widgetkit/js/jquery.js" type="text/javascript"></script>
<script src="cache/widgetkit/widgetkit-e0e3ea80.js" type="text/javascript"></script>
<script src="media/system/js/mootools-more.js" type="text/javascript"></script>
<script src="media/nextend/cache/js/n1445981400/398e94792c835ec1989add7a4a924e8b.js" type="text/javascript"></script>
<script type="text/javascript">

Добавлено через 4 минуты
Цитата Сообщение от temkasky Посмотреть сообщение
Ваш скрипт не видит Jquery
HTML5
Выделить код
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
Jquery должен быть подключен ДО вашего скрипта
С этим ошибка пропала, только скрипт все равно не работает

Добавлено через 1 минуту
TypeError: $(...) is null
0
Эксперт HTML/CSS
653 / 556 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
06.11.2015, 13:00 6
Лучший ответ Сообщение было отмечено kasadas как решение

Решение

<script src="media/system/js/mootools-core.js" type="text/javascript"></script>
Javascript
1
2
3
(function($){
  /* ваш код */
})(jQuery)
1
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
06.11.2015, 13:09  [ТС] 7
Теперь такая ошибка

TypeError: $ is not a function
$("#panel1").slideToggle("slow");
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
06.11.2015, 13:17 8
что это?
HTML5
1
<script src="media/widgetkit/js/jquery.js" type="text/javascript"></script>
второй раз jq подключаем?
0
Эксперт HTML/CSS
653 / 556 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
06.11.2015, 13:31 9
Цитата Сообщение от kasadas Посмотреть сообщение
$("#panel1").slideToggle("slow");
Цитата Сообщение от kasadas Посмотреть сообщение
$(".panel1").slideToggle("slow");
Так вы по чему все таки выбираете, по классу или id?
Видимо нет у вас элемента с id="panel1"
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 21
06.11.2015, 17:50  [ТС] 10
Ребят новая проблема, если я хочу сделать несколько спойлеров таких, сответственно сменил с div id на div class, скрипт работает но при щелчке срабатывает сразу на всех сполерах. Как поправить?

Добавлено через 1 час 57 минут
Не уже ли никто не знает что дописать в код, что б сполеры открывались по одному а не сразу несколько?
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
06.11.2015, 19:55 11
1) Для начала прочитать книгу js, или нанимать специалистов.
2) Если лень почитать книгу, зайти на сайт JQ и почитать о его методах
3) Понять хоть что-то, или вообще не лезть в программирование.
Вам нужно разделить пространство имен в разметке. Собственно и вызывать скрипт для разных пространств имен.

+ в вашем примере 50% кода лишнее.

удалите 1 из
Javascript
1
2
3
4
5
6
7
8
9
$(function(){
    $(".btn-slide").click(function(){
        $("#panel1").slideToggle("slow");
        $(".slider").toggleClass('btn-hide');
        $(".slide").toggleClass('btn-hide');
        $(".btn-slider").toggleClass('active');
        return false;
    }
    });
в итоге мы получим пример
HTML5
1
2
3
<div><button class="pp">Button 1</button><div class="ff">Wiget 1</div></div>
<div><button class="pp">Button 2</button><div class="ff">Wiget 2</div></div>
<div><button class="pp">Button 2</button><div class="ff">Wiget 2</div></div>
Javascript
1
2
3
$(".pp").click(function(){
    alert($(this).parent().find(".ff").text());
});
исходя из которого мы поймем, что каждый виджет нам нужно обернуть в блок.
И обращаться к конкретному виджету мы будет с помощью $(this).parent()

в итоге ваш кусок кода будет выглядеть примерно так

Javascript
1
2
3
4
5
6
7
8
9
$(function(){
    $(".btn-slider").click(function(){
        $(this).parent().find(".panel1").slideToggle("slow");
        $(this).parent().find(".slider").toggleClass('btn-hide');
        $(this).parent().find(".slide").toggleClass('btn-hide');
        $(this).parent().find(".btn-slider").toggleClass('active');
        return false;
    }
    });
По хорошему конечно надо было бы увидеть структуру самого HTML и оптимизировать код.
К примеру, если весь виджет находится внутри .btn-slider то можно было бы избавится от parent()
2
06.11.2015, 19:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2015, 19:55
Помогаю со студенческими работами здесь

подгрузка скриптов
в бд лежат фрагменты кода вроде: &lt;script type='text/javascript'...

Объединение скриптов
Никак не могу объединить 2 скрипта. вот первый код: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta...

добавление скриптов
Как добавить скрипт на сайт? Сайт создал на ucoz.ru, для зачета, нужно добавить скрипт а не умею

Подключение скриптов
Скрипты нужно все сразу при загрузке страницы одним файлом загружать или по мере необходимости -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru