我已經使用jQuery添加了一個click事件來更改我的CSS。點擊起作用,CSS發生變化,但是jQuery繼續運行,最終將CSS恢復到原始狀態。
jQuery代碼:
$('.myClass').click(function(){
$('.myClass').css({"visibility":"hidden"});
});
CSS代碼:
.myClass {
height: 10px;
width: 10px;
background: red;
visibility:visible;
}
就像我說的,點擊起作用,元素被隱藏。但是,當jQuery運行完它的代碼時,它會立即恢復。使用Google Chrome的調試器工具,我發現這是jQuery代碼中使CSS恢復元素可見的地方。
jQuery的代碼(第4116行):
if ( !(eventHandle = elemData.handle) ) {
eventHandle = elemData.handle = function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?
line 4116 jQuery.event.dispatch.apply( elem, arguments ) : undefined;
};
}
我想我不明白這個jQuery代碼發生了什么,為什么我的CSS被還原了?
我猜當你的頁面運行時,會有一些其他的CSS或jQuery運行并覆蓋‘visibility:hidden;’我也建議切換你的類并使用‘display:block;’和“顯示:無”超過“可見性:隱藏”。
如果你提供剩下的HTML和jQuery,我也許能給你一個更精確的答案。
你可以試著切換一個有‘visibility:hidden’的類來避免這個問題。
#CSS
.vh{
visibility:hidden
#or you could use display:none
}
#Javascript
$('.myClass').click(function(){
$('.myClass').toggleClass('vh');
});
上一篇python 用戶登陸