質問

    this.randomtip = function(){
        var length = $("#showcase ul li").length;
        var ran = Math.floor(Math.random()*length) + 1;
        $("#showcase ul li:nth-child(" + ran + ")").show();
    };
    randomtip();

..上記のコードは最後に.show()でうまく動作しますが、私はそれが動作しません.addClass('show')し、それを変更した場合。

私の代わりに、デフォルトのfloat:leftのすべてli項目にdisplay:list-itemプロパティを適用する代わりに、それにクラスを与えたいと思います。私はこの問題を解決する方法を教えてください。

ありがとうございます。

役に立ちましたか?

解決

ヨルダンの回答後:

あなたはdisplay:noneからliを交換し、クラスをこのように追加することができます:

$("#showcase ul li:nth-child(" + ran + ")").css('display','').addClass('show');

他のヒント

どのようにして最初の場所で要素を隠していますか?あなたが同じことをしている、)(例えば、それはdisplay: noneする設定、またはjQueryの皮を使用している場合、それは他の場所で定義されたCSSを上書きすると、あなたがそれを削除するまで、隠された、あなたの要素を保ちます。それはあなたが(自分のCSSクラスを追加する).show()display: noneを削除する)と.addClass('show')の両方を使用する場合は動作するはずます。

交換してみてください
$("#showcase ul li:nth-child(" + ran + ")").show();

この1と

$("#showcase ul li:nth-child(" + ran + ")").addClass('show').show();

の代わりにdisplay: noneの、使用.addClass('hidden') / .removeClass('hidden')

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top