2013-11-08 3 views
-1

Я застрял, чтобы получить стол для переключения.Переключить стол с jQuery

Эта строка кода, предоставленная W3school, не будет работать.

$(document).ready(function(){ 
    $("#flip").click(function(){ 
    $("#panel").slideToggle("slow"); 
    }); 
}); 

Это URL: http://www.besteadministratiekantoren.nl/training/

Все мысли на этом?

Большое спасибо заранее!

С наилучшими пожеланиями, Стефан

+0

JQuery («селектор идет здесь»). Переключения() –

+3

Разместите HTML вы применяете это, а не ссылки на сайт. Также, поднимите консоль, есть ли какие-нибудь ошибки? – tymeJV

+1

'Эта строка кода, данная W3school, не будет работать.' Я * шокирован *. http://w3fools.com –

ответ

0

Версия JQuery вы загружаете, когда вы говорите

<script type='text/javascript' src='http://www.besteadministratiekantoren.nl/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script> 

был изменен с официального сценария JQuery: вы/они добавили jQuery.noConflict() вызов в конце , Этот вызов указывает jQuery работать только под именем jQuery вместо имени $ (см. jQuery docs).

Вы можете исправить это, изменив каждое использование $ на jQuery. Или, если вы удовлетворены тем, что использование jQuery для использования глобального $ не будет конфликтовать с любыми другими библиотеками, затем удалите вызов jQuery.noConflict() или загрузите в версию jQuery, которая не заканчивается вызовом jQuery.noConflict() (например, от Google CDN, что часто бывает хорошим делом по обсуждаемым причинам here).

Обновление: есть и третий вариант - оберните блоки jQuery функцией, которая отображает jQuery в $. См. Ответ @ charlietfl.

+0

предлагая загрузить еще одну копию jQuery не goood.Вероятно, это CMS, как Wordpress, потому что из-за огромного количества доступных плагинов, которые могут быть установлены у администратора, используется 'noConflict' по уважительной причине – charlietfl

+0

Спасибо, решил! – user1953441

2

Страница сгенерирована noConflict что означает $ псевдоним больше не существует для jQuery.

Два обходные пути:

Всегда выписывать jQuery вместо $

jQuery(document).ready(function(){ 
    jQuery("#flip").click(function(){ 
    jQuery("#panel").slideToggle("slow"); 
    }); 
}); 

Или завернуть весь новый код JQuery в:

(function($){ 
    /* "$" is jQuery inside this wrapper*/ 
    $(document).ready(function(){ 
     $("#flip").click(function(){ 
     $("#panel").slideToggle("slow"); 
     }); 
    }); 

})(jQuery); 
+0

Спасибо, решила! – user1953441

0

Он отлично работает

http://jsbin.com/eCoReCE/1/

Я предполагаю, что ваш jQuery запущен в режиме `hoConflict. Просто измените на

(function($){ 
    $(document).ready(function(){ 
    $("#flip").click(function(){ 
     $("#panel").slideToggle("slow"); 
    }); 
    }); 
}(jQuery)); 
+0

Спасибо, решила! – user1953441

Смежные вопросы