2013-05-26 138 views
0

我使用此代码显示/隐藏内容:切换CSS jQuery的

$(function(){ 
    $('#slider').css('display',''); 

    $('#hideslider').click(function(){ 
    $('#slider').slideToggle('slow'); 
    $(this).toggleClass('slideSign'); 
    return false; 
    }); 
}); 

当点击#hideslider它显示/隐藏#slider内容。 #hideslider在css中使用向上箭头作为背景图像。当#slider未显示为向下箭头时,是否有办法更改此背景图像?例如,如果#slider显示为'none',则在#hideslider中显示不同的背景图像。感谢帮助。

+2

学习格式化代码。 :) –

+2

'slideSign'类在这里做什么? – bipen

+0

你能展示一个简单的[现场演示](http://jsfiddle.net/),它能够重现你的问题吗? –

回答

0

为将使用向下箭头的类创建新的CSS定义。

.down-arrow{ 
    background:url('/path/to/my/downarrow.ext') other-properties; 
} 

然后访问slideToggle函数内的回调来评估元素的显示状态。

$('#slider').slideToggle('slow', function(){ 
    //here we have the callback, the slide has finished, and now we can evaluate 
    if($(this).css('display') == 'none'){ 
     //We know that we should add the class.. 
     $('#hideslide').addClass('down-arrow'); 
    }else{ 
     $('#hideslide').removeClass('down-arrow'); 
    } 
}); 
+0

这工作完美。非常感谢你 :) – user2422718