此代码是关于按下使文本切换(显示/隐藏)的按钮:
jQuery('Button']').click(function () {
jQuery('#text').slideToggle('fast', function () {});
if (jQuery('#text').css('display') == 'block') {
jQuery('#dropdown1arrow').css({"border-top":"0px"});
jQuery('#dropdown1arrow').css({"border-bottom":"7px solid #0767B1"});
}
if (jQuery('#text').css('display') == 'none') {
jQuery('#dropdown1arrow').css({"border-bottom":"0px"});
jQuery('#dropdown1arrow').css({"border-top":"7px solid #0767B1"});
}
});
一切都有效,除了显示:没有,任何人都知道为什么/如何解决这个问题?
答案 0 :(得分:3)
测试元素是否可见:
if (jQuery('#text').is(":visible")) {
// something
}
else {
// something else
}
答案 1 :(得分:0)
一些改进:
.is(':visible')
检查元素是否可见callback
slideToggle()
函数内
代码:
jQuery('Button').click(function () {
jQuery('#text').slideToggle('fast', function () {
text_obj = $(this)
if (text_obj.is(':visible')) {
jQuery('#dropdown1arrow').css({"border-top":"0px", "border-bottom":"7px solid #0767B1"});
}
else {
jQuery('#dropdown1arrow').css({"border-bottom":"0px", "border-top":"7px solid #0767B1"});
}
});
});
答案 2 :(得分:0)
你可以试试这个:
jQuery('button').click(function () {
jQuery('#dropdown1arrow').css(jQuery('#text').is(":visible") ?
{"border-top":"0px", "border-bottom":"7px solid #0767B1"} :
{"border-bottom":"0px", "border-top":"7px solid #0767B1"}
);
});