2

divを展開したときにbox-shadowを表示したい。divケースを展開する際にbox-shadowクラスを持つクラスを追加しています。そして、すべてのブラウザで正常に動作しています。私が直面している問題は、IE 8 がエラーを表示していることです:-「attr(...)」は null またはオブジェクトではありません。

これを修正するにはあなたの助けが必要です。提案してください。

これは私がやったことです:

<script type="text/javascript">
animatedcollapse.addDiv('navDrop', 'fade=0,speed=100,')
animatedcollapse.addDiv('needHelp', 'fade=10,speed=300,')
animatedcollapse.ontoggle=function($, divobj, state){ //fires each time a DIV is expanded/contracted
    //$: Access to jQuery
    //divobj: DOM reference to DIV being expanded/ collapsed. Use "divobj.id" to get its ID
    //state: "block" or "none", depending on state
    jkmegamenu.render($);
        if($(".needHelpBox").attr('class').indexOf("shadow") > 0)
    {
        $(".needHelpBox").attr('class',$(".needHelpBox").attr('class').replace("shadow",""));
    }
    else
    {
        $(".needHelpBox").addClass('shadow');
    }

}
animatedcollapse.init()
</script>

助けてください..!ありがとう

4

2 に答える 2

1

jQueryを使用しています!ここにある方法を使用してください。

var helpBox = $(".needHelpBox");
if(helpBox.hasClass('shadow')){
    helpBox.removeClass('shadow');
} else {
    helpBox.addClass('shadow');
}

toggleClassベルギのソリューションは、この方法を利用しているため、さらに簡単です。

あなたが直面している問題はセレクター内にもあるかもしれません $(".needHelpBox") html要素が正しいクラス(needHelpBox)属性を持っていると確信していますか?また、どのバージョンのjQueryを使用していますか?

于 2013-03-08T08:44:52.290 に答える
0

toggleClass()メソッドを使用したいようです(jQueryを使用する場合):

$(".needHelpBox").toggleClass("shadow");

またはtoggleClassNameメソッド(ない場合に可能性が高いと思われるPrototypeを使用しますattr):

$(".needHelpBox").toggleClassName("shadow");
于 2013-03-08T15:01:09.650 に答える