$(window).load(function() {
var paircount = 0;
var $thisSprite = $("#%id% img.imageStyle");
if ($.browser.msie)
{
// I need this only if desaturate png with aplha channel
$thisSprite = $thisSprite.desaturateImgFix();
}
// modified not to desaturate the clone
$thisSprite.each(function(){
$(this).addClass("%id%")
.clone()
.attr('id', '')
.addClass('color')
.hide()
.insertAfter($(this))
});
// desaturate all occourances
$thisSprite = $thisSprite.desaturate();
// Need to remove this instance of the desaturated origonal below on hover
// currently shows both on hover...???????????
// add events for switch between color/gray versions
$('.centered_image').bind('mouseenter mouseleave', function(e){
$(this).find('img').toggle().toggleClass('color');
});
});
http://www.doobox.co.uk/test/test.html
的新测试亲切的问候 加里。
答案 0 :(得分:1)
如果您使用JQuery,则按以下方式使用 -
$('#id',this).hide();
希望这会对你有所帮助。
答案 1 :(得分:0)
我没有看到循环,这似乎混淆了一些事情:(如果你在这里缩小,请小心)
$thisSprite.addClass("pair%id%_" + ++paircount);
似乎等同于:
$thisSprite.addClass("pair%id%_" + 1);
,如果你将其分解为:
$thisSprite.addClass("pairsomeIDhere_1");
你的CSS中有这样的课吗?
var classString = new String($(this).attr('class'));
可以简单地说:
var classString = $(this).attr('class');
变化:
$thisSprite.bind("mouseenter mouseleave", desevent);
$cloned.bind("mouseenter mouseleave", desevent);
传递活动:
$thisSprite.bind("mouseenter mouseleave", desevent(event));
$cloned.bind("mouseenter mouseleave", desevent(event));
答案 2 :(得分:0)
从查看测试页面,我认为问题是您需要遍历每个图像。我试过测试这个,但我遇到了麻烦,很遗憾这个脚本没有经过测试:
$(window).load(function() {
if ($.browser.msie)
{
// You need this only if desaturate png with aplha channel
$thisSprite = $thisSprite.desaturateImgFix();
}
$thisSprite.each(function(){
$(this).clone()
.removeAttr('id')
.addClass('color')
.hide()
.insertAfter($(this))
.desaturate();
});
// add events for switch between color/gray versions
$('.centered_image').bind('mouseenter mouseleave', function(e){
$(this).find('img, canvas').toggle().toggleClass('color');
});
});
答案 3 :(得分:0)
最后到那里感谢指点,非常有帮助。
$(window).load(function() {
var paircount = 0;
var $thisSprite = $("#%id% img.imageStyle");
if ($.browser.msie)
{
// I need this only if desaturate png with aplha channel
$thisSprite = $thisSprite.desaturateImgFix();
}
// modified not to desaturate the clone
$thisSprite.each(function(){
$(this).addClass("%id%pair")
.clone()
.attr('id', '')
.insertAfter($(this))
.addClass('%id%color')
.hide()
});
// desaturate all occourances
$thisSprite.desaturate()
// Need to remove this instance of the desaturated origonal below on hover
// add events for switch between color/gray versions
$('.container').bind('mouseenter mouseleave', function(e){
$(this).find('.%id%pair').toggle().toggleClass('%id%color');
});
});