我有一个网站,我已经添加了一些基本的Mootools动画。这里是我有个问题关于该网站的页面:Mootools - 检测一个css类的实例
http://www.humsdrums.com/portfolio/webdesign.html
你会发现,当你将鼠标放在大图像,它们褪色,放大镜充斥了下来。这里是叫MooTools的类“扩大化”我这个做:
var Magnify = new Class({
Implements : [Options, Events],
options : {
},
initialize : function (item, image, options)
{
this.setOptions(options);
this.div = document.id(item);
this.img = $$(image);
this.tweenBackground = new Fx.Tween(this.div,{
duration:'250',
property:'background-position'
});
this.div.addEvent('mouseenter', this.reveal.bind(this));
this.div.addEvent('mouseleave', this.hide.bind(this));
},
reveal : function()
{
this.tweenBackground.cancel();
this.tweenBackground.start('175px -78px', '175px 90px');
this.img.tween('opacity', .15);
console.log('mouse over');
},
hide :function()
{
this.tweenBackground.cancel();
this.tweenBackground.start('175px 90px', '175px -78px');
this.img.tween('opacity', 1);
}
});
然后我需要通过抓取CSS ID来初始化类我想这样做,每个元素的一个实例。
window.addEvent('domready', function()
{
var magnify1 = new Magnify('p1', '#p1 img');
var magnify2 = new Magnify('p2', '#p2 img');
var magnify3 = new Magnify('p3', '#p3 img');
var magnify4 = new Magnify('p4', '#p4 img');
});
我希望能够做的就是简单的给每个元素我希望有此功能的CSS类的“放大,所以我不必须使用不同的ID号,并添加MooTools的另一个类的实例
如果我的元素是一个CSS类并放到我的Mootools类中,它就会中断,即使它没有中断,看起来Mootools似乎只会使该CSS类的所有元素都具有相同的动画效果当只有一个被隐藏起来的时候
我该如何检测哪个“magnify CSS class正在被淹没?我唯一的想法是找到一种方法来抓住所有具有“magnify”CSS类的元素,将它们放入一个数组中,然后检查被悬停的项是否等于数组中的某个项。我不知道该怎么做,或者如果这是最好的方法。
任何帮助或建议将是伟大的!让我知道你是否想看更多的代码,或者如果我能更好地解释一些东西。谢谢!
抱歉没有及时回复。万分感谢。我可以告诉你真的花时间理解并回答我的问题。在我发布这篇文章之后,我开始了解更多关于。each()和看到你的代码真的有助于使它全部点击。你的男人! – Loomis