একটি বুলিয়ান দিয়ে উপাদান লুকান / প্রদর্শন করুন


109

আমার কোডে এগুলির অনেক কিছুই থাকে

if(shouldElementBeVisible)
    $element.show()
else
    $element.hide()

জাভাস্ক্রিপ্ট, jquery, বা আন্ডারস্কোর দিয়ে প্যাক করা আরও কি মার্জিত উপায় আছে? আদর্শভাবে আমি এমন কিছু চাই যা দেখতে দেখতে লাগে

$element.showOrHideDependingOn(shouldElementBeVisible)


@ স্পেনসারওয়াইজকোরিক যে প্রশ্নটি রেফারেন্সের সাথে ঘটেছিল toggle, কিন্তু এটি একটি আলাদা প্রশ্ন
— আকিল ফার্নান্দেস

উত্তর:


166

দৃশ্যত যদি আপনার ইচ্ছা হয় একটি বুলিয়ান পাস করতে পারেন toggleফাংশন

$element.toggle(shouldElementBeVisible)

34
আমি দুর্ঘটনাক্রমে অন্য একটি "ওভারলোড" এর একটিতে আঘাত হানাতে$element.toggle(!!shouldElementBeVisible) বাঁচানোর জন্য ব্যবহার করার পরামর্শ দিই , যদি না আপনি অবশ্যই নিশ্চিত হন যে ভেরিয়েবলটি বুলিয়ান মান।
— জেরোইন

7
একটি ভাল বিকল্প হতে পারে $element.toggle(shouldElementBeVisible == true)।
— জক্স

"0"যাইহোক এবং "false"এর চেয়ে খুব আলাদা আচরণ করা falseহয়, তাই আমি মনে করি না যে এই পার্থক্যটি সত্যই গুরুত্বপূর্ণ - এমনকি 0আপনি যদি এটি লুকিয়ে রাখতে চান তবে ভুলও হবে, যেহেতু এই সমস্ত অ্যানিমেশন সময় সেট রয়েছে তবে এখনও দৃশ্যমানতা উল্টে যায়।
— তাসগল

19

হ্যা এখানে!

$element.toggle();

কোনও পরামিতি ছাড়াই, toggleকেবলমাত্র উপাদানগুলির দৃশ্যমানতা টগল করে (আমি visibilityসম্পত্তিটি বোঝাতে চাই না ) এবং উপাদানটির বর্তমান অবস্থার উপর নির্ভর করে।

$element.toggle(display);

আপনি যদি toggleবুলিয়ান প্যারামিটার দিয়ে কল করেন তবে উপাদানটি যদি হয় trueএবং hiddenতা হয় তা প্রদর্শিত হয়false

উৎস


2
আমি এই ভুলটি চিহ্নিত করতে চলেছি, তখন আমি বুঝতে পেরেছিলাম যে সর্বশেষ এপিআই রেফারেন্স আপনাকে কোনও বিকল্পের বস্তুর পরিবর্তে একটি বুলিয়ান সেট করতে দেয়।
— আকিল ফার্নান্দেস

যে অধীনে একটি কয়েক লাইন: "কোন প্যারামিটার দিয়ে, .toggle () মেথড কেবল উপাদানের দৃশ্যমানতা টগল"
— জ্যাক স্পেন্সর

2
আসলে আমি যা চেয়েছিলাম তার বিপরীতে। আমি চেয়েছিলাম উপাদানটির বর্তমান অবস্থা অপ্রাসঙ্গিক হোক। রাজ্যটি বুলিয়ান ভেরিয়েবলের ভিত্তিতে হওয়া উচিত।
— আকিল ফার্নান্দেস

@ আকিল ফার্নান্দেস তাই ভেরিয়েবলটি দৃশ্যমান হওয়ার isShownসাথে কি প্রাসঙ্গিক $elementনয়? কিন্তু একটি পৃথক ভেরিয়েবল উপাদানটির সাথে সম্পর্কিত নয়?
— স্প্যান্সার উইকজোরেক

হ্যাঁ, দুঃখিত, আমার সম্ভবত নামটির নতুন নামকরণ isShownকরা উচিত shouldElementBeVisibleএটি আরও স্পষ্ট করে দেওয়ার জন্য
— আকিল ফার্নান্দেস

2

jQuery এর রয়েছে toggle: http://api.jquery.com/toggle/

$element.toggle();

এটি লুকানো থাকলে উপাদানটি প্রদর্শন করবে এবং এটি প্রদর্শিত হলে তা আড়াল করবে।


0

ফাংশন উপাদানটির .toggle()পরিবর্তন করে display।

visibilityপরিবর্তে যদি আপনি পরিবর্তন করতে চান তবে আমি ?:অপারেটরটি ব্যবহার করার পরামর্শ দেব । এটির জন্য, আপনার সিএসএসে, দৃশ্যমানতাটি মূল অবস্থানে সেট করুন এবং জেএসে সহজভাবে লিখুন:

    var checkboxChecked = $("#yourCheckbox").(":checked");

    $("#yourElement").css("visibility", checkboxChecked ? "visible" : "hidden");
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.