Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Uncaught TypeError: $(...) is not a function как убрать ошибку? (https://javascript.ru/forum/jquery/62321-uncaught-typeerror-%24-not-function-kak-ubrat-oshibku.html)

PHPDeveloper 04.04.2016 20:06

Uncaught TypeError: $(...) is not a function как убрать ошибку?
 
Всем привет!

Подскажите пожалуйста, как убрать ошибку:

Uncaught TypeError: $(...).children(...).progressbar is not a function


Это выводит в консоли. Вот сам код:

$(vPb).children('.pbar').progressbar();


Ошибка появилась после подключения непонятной библиотеки Jquery.

Кто знает как изменить ф-ю или предопределить?

Спасибо!

Dilettante_Pro 05.04.2016 10:15

PHPDeveloper,
Цитата:

Сообщение от PHPDeveloper
Ошибка появилась после подключения непонятной библиотеки Jquery.

Может, для начала разобраться с этой библиотекой?

PHPDeveloper 05.04.2016 12:13

Цитата:

Сообщение от Dilettante_Pro (Сообщение 413173)
PHPDeveloper,

Может, для начала разобраться с этой библиотекой?

Может. Как? С JS не дружу. Скажу точно, что без этой библиотеки не работает слайдер.

Dilettante_Pro 05.04.2016 12:54

PHPDeveloper,
Ну покажите хотя бы более подробные фрагменты html - где, как и какие подключаются скрипты,
фрагмент JS с использованием progressbar - а не одну строчку, фрагмент HTML с размещением progressbar - короче, чтобы было где искать проблему.

PHPDeveloper 05.04.2016 13:54

Цитата:

Сообщение от Dilettante_Pro (Сообщение 413199)
PHPDeveloper,
Ну покажите хотя бы более подробные фрагменты html - где, как и какие подключаются скрипты,
фрагмент JS с использованием progressbar - а не одну строчку, фрагмент HTML с размещением progressbar - короче, чтобы было где искать проблему.

Вот сам код:

$(document).ready(function(){
		    jQuery.fn.anim_progressbar = function (aOptions) {
		        // Определяем значения
		        var iCms = 1000;
		        var iMms = 60 * iCms;
		        var iHms = 3600 * iCms;
		        var iDms = 24 * 3600 * iCms;


		        // Определяем опции
		        var aDefOpts = {

		            start: new Date(ass_add),
		            finish: new Date(ass_del),

		            interval: 100
		        }

		        var aOpts = jQuery.extend(aDefOpts, aOptions);
		        var vPb = this;

		        // Кажды индикаторо прогресса
		        return this.each(
		            function() {
		                var iDuration = aOpts.finish - aOpts.start;

		                // Вызываем оригинальны йиндикатор прогресса
		                $(vPb).children('.pbar').progressbar();  <- Вот эта строка

		                // Процесс обработки
		                var vInterval = setInterval(
		                    function(){ ... Дальше не стал копировать...


Выводится прогрессбар так:

<div id="progress1">
            <div class="percent"></div>
            <div class="pbar"></div>
            <div class="elapsed"></div>
        </div>


Подключается так (в head):

<link href="/style/progressbar/css/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css"/>  <!-- ProgressBar -->
<link href="/style/progressbar/css/main.css" rel="stylesheet" type="text/css" /> 				    <!-- ProgressBar -->
<script type="text/javascript" src="/style/progressbar/js/jquery-1.6.2.min.js"></script> 		    <!-- ProgressBar -->
<script type="text/javascript" src="/style/progressbar/js/jquery-ui-1.8.16.custom.min.js"></script> <!-- ProgressBar -->


А вот начало той библиотеки с которой он не дружит(Если ее удалить, то прогрессбара работает, а слайдер - нет):

/*!
 * jQuery JavaScript Library v2.1.4
 * http://jquery.com/
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 *
 * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
 * Released under the MIT license
 * http://jquery.org/license
 *
 * Date: 2015-04-28T16:01Z
 */

Dilettante_Pro 05.04.2016 14:40

PHPDeveloper,
Цитата:

Сообщение от PHPDeveloper
А вот начало той библиотеки с которой он не дружит(Если ее удалить, то прогрессбара работает, а слайдер - нет):

А где и как вы подключаете эту библиотеку?
Попробуйте подключить ее ВМЕСТО
<script type="text/javascript" src="/style/progressbar/js/jquery-1.6.2.min.js"></script>

рони 05.04.2016 14:42

Цитата:

Сообщение от PHPDeveloper
Подключается так

выкинуть и забыть

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
 <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
 <link rel="stylesheet" href="https://www.script-tutorials.com/demos/129/css/main.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
 <!-- сюда плагин и css слайдера, если он есть --> 
  <script>
$(document).ready(function(){
//весь остальной код сюда ... более никаких библиотек не грузить
});

  </script>

PHPDeveloper 05.04.2016 14:51

Цитата:

Сообщение от Dilettante_Pro (Сообщение 413208)
PHPDeveloper,

А где и как вы подключаете эту библиотеку?
Попробуйте подключить ее ВМЕСТО
<script type="text/javascript" src="/style/progressbar/js/jquery-1.6.2.min.js"></script>

Заменил и заработало! И слайдер и прогрессбар.
Только прогрессбар картинки свои не подтянул, но я разберусь с этим.
Спасибо!

PHPDeveloper 05.04.2016 14:52

Цитата:

Сообщение от рони (Сообщение 413209)
выкинуть и забыть

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
 <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
 <link rel="stylesheet" href="https://www.script-tutorials.com/demos/129/css/main.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
 <!-- сюда плагин и css слайдера, если он есть --> 
  <script>
$(document).ready(function(){
//весь остальной код сюда ... более никаких библиотек не грузить
});

  </script>

Простите, что выкинуть?
Код у меня и так обрамлен.

рони 05.04.2016 15:00

Цитата:

Сообщение от PHPDeveloper
что выкинуть?

jquery-1.6.2.min.js
jquery-ui-1.8.16.custom.min.js
jquery-ui-1.8.16.custom.css


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