جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.


×
×
برنامه نویسان ما مشغول به کدنویسی و توسعه لام تا کام هستند، ما مشتاقانه منتظر نظرات و پیشنهادات شما جهت بهبود و ارتقاء کیفی وب سایت هستیم.
×

دلیل درخواست بستن پست

حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

چگونه می توانم در جی کوئری بررسی کنم که یک المنت hidden شده یا خیر ؟


0
0
44

امکان مشاهده یک المنت را می توان با استفاده از .hide() یا .show() یا .toggle() تغییر داد.

چگونه متوجه شویم یک المنت قابل مشاهده یا پنهان است؟

به عبارتی من لازم دارم بدونم که المنت x الان در صفحه داره دیده میشه (معلومه) یا قابل مشاهده نیست (پنهانه).

تکنولوژی برنامه-نویسی جاوا-اسکریپت جی-کوئری
سوال شده در Vahid Alizadeh
28 امتیاز

500 کاراکتر باقی مانده

2 جواب

2

با استفاده از شبهه سلکتورهای :visible و :hidden در jQuery میتونید تشخیص بدید که یک المنت نمایش داده میشود یا خیر.

برای چک کردن وجود یک سلکتور بر روی المنت از تابع is(<selector>) استفاده میشود:

if($(el).is(":visible")) {
  console.log('Visible element');
}

if($(el).is(":hidden")) {
  console.log('Hidden element');
} 

نمونه عملی

جواب داده شده در S Kill
389 امتیاز


+1 .. فقط امکانش هست بگی اگه بخوایم با وانیلا-جی-اس همین کد رو بزنیم چطوری میشه؟ آخه خیلی ها جی کوئری به پروژشون ضمیمه نشده. ـــسعید مرادی در 2 ماه قبل

@سعید.مرادی یک جواب با Vanilla JS نوشتم؛ بررسیش کن. ـــسجاد شفی زاده در 2 ماه قبل

500 کاراکتر باقی مانده


2

اگر بخوایم با Vanilla JS (جاوااسکریپت خام) این بررسی رو انجام بدیم، طبق داکیومنتیشن ، ویژگی offsetParent یک المنت، نال NULL میشه اگه اون لمنت توسط ویژگی display (در سی اس اس CSS) غیر قابل نمایش (یا همون hidden) باشه.

نکته 1: حتی اگه والدین یک المنت باز دیسپلیشون display غیر قابل نمایش hidden باشه بازم NULL میشه offsetParent.

نکته 2: فقط باید دقت کنی که المنت فیکس نباشه. یعنی اگه ویژگی position: fixed; رو نداشته باشه، می تونی از کد پایین استفاده کنی:

// Select the element
var el = document.getElementById("yourElementId");

// Check visibility
if (isHidden(el)){
    console.log('The element is not visible in the page');
} else {
    console.log('The element is visible in the page');
}

/* Check function
 * @params js-element
 * @return boolean
 */
function isHidden(el) {
    return (el.offsetParent === null)
}

نکته 3: اما اگر ویژگی position: fixed; برای المنت مورد نظر ست شده، متاسفانه دیگه روش بالا جوابگو نیست و باید از window.getComputedStyle() استفاده کنی. یعنی تابع نهاییت باید یک همچین چیزی باشه:

/* Check function
 * @params js-element
 * @return boolean
 */
function isHidden(el) {
    var style = window.getComputedStyle(el);
    return (style.display === 'none')
}

می دونم به سوالت برچسب jQuery رو زده بودی و احتمالا همون .is(":visible")ی که دوستمون آقای S Kill گفتن کارت رو راه می ندازه. ولی این جواب رو نوشتم برای کسایی که کلا جی کوئری رو ضمیمه پروژشون نکردن.

نکته 4: بد نیست که این نکته پایانی رو هم بگم که روش دوم یک مقداری کُنده. پس اگه لازم دارید توی یک لوپ (حلقه) یا چندین بار پشت سر هم این تابع رو صدا بزنید، ترجیحا ازش استفاده نکنید.

ویرایش شده در 2 ماه قبل
جواب داده شده در سجاد شفی زاده <m>★</m>
9795 امتیاز

1
ممنون بابت پاسخ خوبتون من از جی کوئری استفاده میکنم . ولی خوب شد روششو با جاوا اسکریپت خام یاد گرفتم ـــVahid Alizadeh در 2 ماه قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


لام تا کام نسخه صفحه کلید نیز راه اندازی شده است. شما با استفاده از کلیدهای موجود بر روی صفحه کلید دستگاهتان می توانید با وب سایت ارتباط برقرار کنید.
لیست کلید های میانبر

تبلیغات توضیحی


وردپرس یاد. مرجع آموزش وردپرس
یک تیم پر تلاش و خلاق که تخصص اصلی آن ها تولید محتوا می باشد و قصد دارند با وردپرس یاد مرجعی حرفه ای و تخصصی برای آموزش کامل وردپرس از پایه تا پیشرفته باشند.

تبلیغات تصویری


محک