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


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.