Uncaught TypeError: Объект # <MouseEvent>в Chrome - PullRequest
1 голос
/ 03 мая 2011

Я работаю на сайте Joomla http://bit.ly/jFt6Km Слайд-шоу mootools отлично работает на ff и IE, но не на chrome

ошибка хрома:

Uncaught TypeError: У объекта # нет метода 'stop' в строке 57

код mootools

window.addEvent('domready',function() {
2 /* settings */
3 var showDuration = 6000;
4 var container = $('slideshow-container');
5 var images = container.getElements('.slide');
6 var captions = container.getElements('.slide .text');
7 var thumbs = container.getElements('.thumbs img');
8 var currentIndex = 0;
9 var interval;
10 //var fade = new Fx.Fade();
11 /* opacity and fade */
12 //alert(thumbs);
13 images.each(function(img,i){
14
15
16 //alert(i);
17 if(i > 0) {
18
19 img.setStyle('opacity',0);
20
21 }
22 });
23 /* worker */
24 var show = function(to) {
25 captions[currentIndex].setStyle('opacity',0);
26 thumbs[currentIndex].removeClass('active');
27 fadeout(images[currentIndex]);
28
29
30
31 fadein(images[currentIndex = ($defined(to) ? to : (currentIndex < images.length - 1 ? currentIndex+1 : 0))]);
32 thumbs[currentIndex].addClass('active');
33 captions[currentIndex].setStyle('opacity',1);
34
35
36
37 };
38 /* start once the page is finished loading */
39 window.addEvent('load',function(){
40 show(0); start();
41 });
42
43 function fadein(el){
44 el.fx = el.effect('opacity',{duration: 2000}).start(1);
45 //el.setStyle('opacity',1);
46 }
47 function fadeout(el){
48 el.fx = el.effect('opacity',{duration: 2000}).start(0);
49 }
50
51 var stop = function() { $clear(interval); };
52 var start = function() { interval = show.periodical(showDuration); };
53 //alert(thumbs);
54 thumbs.each(function(thumb,i){
55 //if(currentIndex == i) thumb.set('class','active');
56 thumb.addEvent('click',function(e){
**57 if(e) e.stop();**
58 stop();
59 show(i);
60 start();
61
62
63 });
64 //alert( thumb.get('src') + ' ' + i);
65 });
66 /* function for thumbs */
67 var showSlide = function(index) {
68 fadein(images[index]);
69 //show();
70 };
71}); 

Кстати, он работает нормально локально

спасибо всем за помощь

1 Ответ

2 голосов
/ 03 мая 2011

для mootools 1.1x, это new Event(e).stop(), но вам все равно нужно проверить, есть ли у него метод.так что if (e && e.stop) new Event(e).stop().вам следует обновить.

, кстати, проверка if e.stop действительно должна потребоваться, только если вы выполните fireEvent("click")

...