我的“小代码问题”无法按照我的意愿运行。我会先发布代码。
$(function() {
$(document).ready(function(){
if( $( "#skillelementwithme" ).hasClass( "skillelement_collapsed" ) )
{
$( "#skillelementwithme" ).click(function() {
$( "#skillelementwithme" ).toggleClass( "skillelement_active_withme", 500 );
$( "#skillelementwithyou" ).fadeTo( 1000, 0 );
});
}
else if (( "#skillelementwithme" ).hasClass( "skillelement_active_withme" ))
{
$( "#skillelementwithme" ).click(function() {
$( "#skillelementwithme" ).toggleClass( "skillelement_collapsed", 500 );
$( "#skillelementwithyou" ).fadeTo( 1000 , 1 );
});
}
})
});
现在虽然fadetotransparent工作得非常好,但我不能让“skillelementwithyou”课程淡出来变得不透明。也许我理解这些功能绝对错误。我希望你们能帮助我。可能它只是一个非常小的东西,我会恨自己。
答案 0 :(得分:1)
http://jsfiddle.net/isherwood/pmX7z/
$(function () {
$("#skillelementwithme").click(function () {
$("#skillelementwithme")
.toggleClass("skillelement_active_withme skillelement_collapsed");
$("#skillelementwithyou").fadeToggle();
});
});
您的一些错误:
$(function() {
和$(document).ready(function(){
基本相同,因此您可以摆脱一个。
( "#skillelementwithme" )
是一个无效的选择器(您错过了jQuery对象引用$
)。
在click()
语句中包含if
。在JS解析时,if
将被读取,返回true
的部分将允许访问包含.click()
函数,而另一部分(false
)将被忽略,从不无障碍。反之亦然(在if
处理程序中传递click
逻辑)有助于在检查每个点击事件的语句时保持事件的活动。
.toggleClass( "skillelement_collapsed", 500 );
toggleClass不接受时间参数。它不是动画。