2012-03-08 6 views
5

Мне любопытно узнать, почему я получаю эту ошибку? Я скопировал его с сайта beezid.com (carousel.js), и я пытаюсь получить тот же слайд, что и на моем веб-сайте, чтобы его обновить. Как видите, у меня возникают проблемы с этим? Их сайт не придумал эту ошибку?Uncaught ReferenceError: Класс не определен?

carousel.js:26 Uncaught ReferenceError: Class is not defined

Carousel = Class.create(Abstract, { 
    initialize: function (scroller, slides, controls, options) { 
     this.scrolling = false; 
     this.scroller = $(scroller); 
     this.slides  = slides; 
     this.controls = controls; 
     this.menu  = false; 
     this.menuTitleLen = 20; 
+1

Линия, которая выбрасывает ошибку, кажется, не находится в фрагменте кода. Не могли бы вы опубликовать все это? – koenpeters

+0

Если вы используете Magento 1, ваша проблема может заключаться в том, что библиотека прототипов была загружена после того, как ваш скрипт попытался использовать 'Class.create' –

ответ

9

Class не является типом JavaScript, поэтому вы не можете использовать его. Это веб-сайт, вероятно, используют некоторые библиотеки третьей стороны, которая обеспечивает тип Class для упрощения некоторых типов создания и т.д.

От быстрой проверки исходного кода, очевидно, что этот сайт использует:

Я думаю, что прототип имеет тип класса. Вот ссылка на учебник Prototype на JavaScript «классов» и наследование: http://prototypejs.org/learn/class-inheritance

+1

Другой класс, предоставляющий lib [class.js] (https://classjs.readthedocs.org/о/последняя /) –

1

добавить

<script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js"></script>

Вы можете использовать прототип (http://prototypejs.org/), который представляет собой библиотеку. Затем проблема решена.

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