Jquery removeClass 機能を使用して特定のクラスを無効にするのに問題があります。クラス定義を以下に示します
.btn-purple
{
background-color: #F1B2E1;
background-image: -moz-linear-gradient(top, #F1B2E1, #E986D0);
background-image: -ms-linear-gradient(top, #F1B2E1, #E986D0);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F1B2E1), to(#E986D0));
background-image: -webkit-linear-gradient(top, #F1B2E1, #E986D0);
background-image: -o-linear-gradient(top, #F1B2E1, #E986D0);
background-image: linear-gradient(top, #F1B2E1, #E986D0);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F1B2E1', endColorstr='#E986D0', GradientType=0);
border-color: #0055cc #0055cc #003580;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
}
.btn-purple:hover,
.btn-purple:active,
.btn-purple.active,
.btn-purple.disabled,
.btn-purple[disabled] {
background-color: #E986D0;
}
JavaScriptファイルには、次のものがあります
$(function(){
$("#1").click(function(){
$("#1").removeClass("btn-purple", 1000);
return false
});
});
クラス定義を削除したいセクションの HTML マークアップを次に示します。
<div id="1" class="span3 well homeBox opaque btn-purple">
<span class="siteBoxContent">What do we do?</span>
</div>
Webkitエラーコンソールでデバッグ中に発生したエラーは次のとおりです
TypeError: 'undefined' is not an object (evaluating 'fx.end[0]') jquery.effects.core.js:32
「homeBox」などのクラスを削除しようとすると、removeClass は正常に機能します。これは、homeBox クラス定義の定義です。
.homeBox
{
position:relative;
width:26.666666666667%;
height:200px;
}
したがって、jQuery では、background-image、color、さらには filter 属性を持つクラスを削除する際に問題が発生する可能性があると推測しています。さらに情報が必要な場合は、お知らせください。よろしくお願いします。