الكود لا يعمل بدون. شاو () - jQuery
سؤال
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 محددة في مكان آخر والحفاظ على عنصرك مخفيا حتى تقوم بإزالته. يجب أن تعمل إذا كنت تستخدم كليهما .show()
(لازالة display: none
) و .addClass('show')
(لإضافة فئة CSS الخاصة بك).
حاول استبدال
$("#showcase ul li:nth-child(" + ran + ")").show();
مع هذا الشخص
$("#showcase ul li:nth-child(" + ran + ")").addClass('show').show();
بدلا من display: none
, ، استعمال .addClass('hidden')
/ .removeClass('hidden')