কীভাবে কোনও উপাদান দেখানো বা লুকানো যায়:
কোনও উপাদান দেখানোর বা আড়াল করার জন্য, উপাদানটির শৈলীর বৈশিষ্ট্যগুলি ম্যানিপুলেট করুন । বেশিরভাগ ক্ষেত্রে, আপনি সম্ভবত কেবলমাত্র উপাদানটির display
সম্পত্তি পরিবর্তন করতে চান :
element.style.display = 'none'; // Hide
element.style.display = 'block'; // Show
element.style.display = 'inline'; // Show
element.style.display = 'inline-block'; // Show
বিকল্পভাবে, আপনি যদি এখনও উপাদানটি স্থান দখল করতে চান (যেমন আপনি যদি কোনও টেবিল সেলটি লুকিয়ে রাখতেন) তবে আপনি তার পরিবর্তে উপাদানটির visibility
সম্পত্তি পরিবর্তন করতে পারেন :
element.style.visibility = 'hidden'; // Hide
element.style.visibility = 'visible'; // Show
উপাদানগুলির সংগ্রহ লুকানো হচ্ছে:
আপনি শুধু বারবার প্রতিটি উপাদান বেশী, উপাদানের একটি সংগ্রহ লুকাতে এবং উপাদান এর পরিবর্তন করতে চান display
করতে none
:
function hide (elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = 'none';
}
}
// Usage:
hide(document.querySelectorAll('.target'));
hide(document.querySelector('.target'));
hide(document.getElementById('target'));
hide(document.querySelectorAll('.target'));
function hide (elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = 'none';
}
}
<div class="target">This div will be hidden.</div>
<span class="target">This span will be hidden as well.</span>
উপাদানগুলির সংগ্রহ দেখানো হচ্ছে:
বেশিরভাগ সময়, আপনি সম্ভবত কেবল display: none
এবং এর মধ্যে টগল করতে পারবেন display: block
যার অর্থ এই যে উপাদানগুলির সংকলন দেখানোর সময় নিম্নলিখিতটি যথেষ্ট হতে পারে।
আপনি display
ডিফল্টরূপে এটি না চাইলে আপনি পছন্দসইভাবে দ্বিতীয় আর্গুমেন্ট হিসাবে নির্দিষ্ট করতে পারেন block
।
function show (elements, specifiedDisplay) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = specifiedDisplay || 'block';
}
}
// Usage:
var elements = document.querySelectorAll('.target');
show(elements);
show(elements, 'inline-block'); // The second param allows you to specify a display value
var elements = document.querySelectorAll('.target');
show(elements, 'inline-block'); // The second param allows you to specify a display value
show(document.getElementById('hidden-input'));
function show (elements, specifiedDisplay) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = specifiedDisplay || 'block';
}
}
<div class="target" style="display: none">This hidden div should have a display of 'inline-block' when it is shown.</div>
<span>Inline span..</span>
<input id="hidden-input" />
বিকল্পভাবে, উপাদান (গুলি) প্রদর্শনের জন্য আরও ভাল পন্থা display
হ'ল এটির প্রাথমিক অবস্থায় ফিরে আসার জন্য কেবল ইনলাইন স্টাইলিং সরিয়ে ফেলা হবে। তারপরে display
কোনও ক্যাসকেড বিধি দ্বারা এটি লুকানো হচ্ছে কিনা তা নির্ধারণের জন্য উপাদানটির গণিত শৈলীটি পরীক্ষা করুন । যদি তাই হয়, তবে উপাদানটি দেখান।
function show (elements, specifiedDisplay) {
var computedDisplay, element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
// Remove the element's inline display styling
element.style.display = '';
computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');
if (computedDisplay === 'none') {
element.style.display = specifiedDisplay || 'block';
}
}
}
show(document.querySelectorAll('.target'));
function show (elements, specifiedDisplay) {
var computedDisplay, element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
// Remove the element's inline display styling
element.style.display = '';
computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');
if (computedDisplay === 'none') {
element.style.display = specifiedDisplay || 'block';
}
}
}
<span class="target" style="display: none">Should revert back to being inline.</span>
<span class="target" style="display: none">Inline as well.</span>
<div class="target" style="display: none">Should revert back to being block level.</div>
<span class="target" style="display: none">Should revert back to being inline.</span>
(আপনি যদি এটিকে আরও একধাপ এগিয়ে নিয়ে যেতে চান তবে আপনি jQuery কী করে তা নকল করতে পারেন এবং উপাদানটি ফাঁকা iframe
(বিরোধী স্টাইলশিট ছাড়াই) যুক্ত করে উপাদানটির ডিফল্ট ব্রাউজার স্টাইলিং নির্ধারণ করতে পারেন এবং তারপরে গণিত স্টাইলিংটি পুনরুদ্ধার করতে পারেন you এটি করার ক্ষেত্রে, আপনি display
উপাদানটির প্রকৃত প্রাথমিক সম্পত্তি মানটি জানবে এবং কাঙ্ক্ষিত ফলাফল পেতে আপনাকে কোনও মান হার্ডকোড দিতে হবে না))
প্রদর্শন টোগলিং:
একইভাবে, আপনি যদি display
কোনও উপাদান বা উপাদানগুলির সংগ্রহের টগল করতে চান তবে আপনি প্রতিটি উপাদানকে কেবল পুনরাবৃত্তি করতে পারেন এবং display
সম্পত্তিটির গুণিত মান পরীক্ষা করে এটি দৃশ্যমান কিনা তা নির্ধারণ করতে পারেন । যদি দৃশ্যমান, সেট display
করার none
অন্যথায় ইনলাইন অপসারণ, display
স্টাইলিং, এবং যদি এটি এখনও লুকানো, সেট display
নির্দিষ্ট মান বা হার্ডকোডেড ডিফল্টে block
।
function toggle (elements, specifiedDisplay) {
var element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
if (isElementHidden(element)) {
element.style.display = '';
// If the element is still hidden after removing the inline display
if (isElementHidden(element)) {
element.style.display = specifiedDisplay || 'block';
}
} else {
element.style.display = 'none';
}
}
function isElementHidden (element) {
return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
}
}
// Usage:
document.getElementById('toggle-button').addEventListener('click', function () {
toggle(document.querySelectorAll('.target'));
});
document.getElementById('toggle-button').addEventListener('click', function () {
toggle(document.querySelectorAll('.target'));
});
function toggle (elements, specifiedDisplay) {
var element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
if (isElementHidden(element)) {
element.style.display = '';
// If the element is still hidden after removing the inline display
if (isElementHidden(element)) {
element.style.display = specifiedDisplay || 'block';
}
} else {
element.style.display = 'none';
}
}
function isElementHidden (element) {
return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
}
}
.target { display: none; }
<button id="toggle-button">Toggle display</button>
<span class="target">Toggle the span.</span>
<div class="target">Toggle the div.</div>