JQuery এ, সিএসএস সেটিংস সেট করে এমন পদ্ধতি .hide()
এবং .show()
পদ্ধতি রয়েছে display: none
।
একটি সমতুল্য ফাংশন আছে যা visibility: hidden
সেটিংটি সেট করবে ?
আমি জানি আমি ব্যবহার করতে পারি .css()
তবে আমি কিছু ফাংশন পছন্দ করি .hide()
। ধন্যবাদ।
JQuery এ, সিএসএস সেটিংস সেট করে এমন পদ্ধতি .hide()
এবং .show()
পদ্ধতি রয়েছে display: none
।
একটি সমতুল্য ফাংশন আছে যা visibility: hidden
সেটিংটি সেট করবে ?
আমি জানি আমি ব্যবহার করতে পারি .css()
তবে আমি কিছু ফাংশন পছন্দ করি .hide()
। ধন্যবাদ।
উত্তর:
আপনি নিজের প্লাগইন তৈরি করতে পারেন।
jQuery.fn.visible = function() {
return this.css('visibility', 'visible');
};
jQuery.fn.invisible = function() {
return this.css('visibility', 'hidden');
};
jQuery.fn.visibilityToggle = function() {
return this.css('visibility', function(i, visibility) {
return (visibility == 'visible') ? 'hidden' : 'visible';
});
};
আপনি যদি মূল jQuery ওভারলোড করতে চান toggle()
, যা আমি প্রস্তাব করি না ...
!(function($) {
var toggle = $.fn.toggle;
$.fn.toggle = function() {
var args = $.makeArray(arguments),
lastArg = args.pop();
if (lastArg == 'visibility') {
return this.visibilityToggle();
}
return toggle.apply(this, arguments);
};
})(jQuery);
jsFizz ।
toggle()
যা অন্যান্য স্ক্রিপ্টগুলি ভেঙে দিতে পারে। আপনি চান, তাহলে আপনি একটি অতিরিক্ত যুক্তি যোগ করতে পারিনি toggle()
উল্লেখ করা হবে কিনা তা visibility
বা display
টগল করতে হবে। তবে আমি কেবল আমার শেষ উদাহরণটিতে কাস্টমটি ব্যবহার করব। :)
show
(গতি, ইজিং, কলব্যাক) অতিরিক্ত পরামিতিগুলি সমর্থন করবেন তার একটি উদাহরণ পোস্ট করতে পারেন ?
এখানে একটি অন্তর্নির্মিত নেই তবে আপনি নিজের সহজেই লিখতে পারেন:
(function($) {
$.fn.invisible = function() {
return this.each(function() {
$(this).css("visibility", "hidden");
});
};
$.fn.visible = function() {
return this.each(function() {
$(this).css("visibility", "visible");
});
};
}(jQuery));
এরপরে আপনি এটিকে এভাবে কল করতে পারেন:
$("#someElem").invisible();
$("#someOther").visible();
এখানে একটি কাজের উদাহরণ ।
(function($) {...}(jQuery));
জড়িয়ে দেওয়ার কী লাভ? আমি jQuery এর আগে আমার নিজের ফাংশনগুলি কখনই সংজ্ঞায়িত করিনি, আমি সর্বদা সরাসরি জাভাস্ক্রিপ্টে কেবল ফাংশন সংজ্ঞায়িত করেছি।
$
ফাংশনের অভ্যন্তরে শনাক্তকারীকে ব্যবহার করতে দেয় , এমনকি যদি এটি প্যারেন্ট স্কোপে অন্য কোনও কিছু বোঝায়।
এটি করার একটি এমনকি সহজ উপায় হল jQuery এর টগলক্লাস () পদ্ধতি ব্যবহার করা
সিএসএস
.newClass{visibility: hidden}
এইচটিএমএল
<a href="#" class=trigger>Trigger Element </a>
<div class="hidden_element">Some Content</div>
জাতীয়
$(document).ready(function(){
$(".trigger").click(function(){
$(".hidden_element").toggleClass("newClass");
});
});
আপনার যদি কেবলমাত্র দৃশ্যমানতার সাথে আড়াল করার মানক কার্যকারিতা প্রয়োজন হয়: বর্তমান লেআউটটি রাখতে লুকানো আপনি ট্যাগটিতে সিএসএস পরিবর্তন করতে আড়াল করার কলব্যাক ফাংশনটি ব্যবহার করতে পারেন। জ্যাকুরিতে ডকস লুকান
একটি উদাহরণ :
$('#subs_selection_box').fadeOut('slow', function() {
$(this).css({"visibility":"hidden"});
$(this).css({"display":"block"});
});
এটি ডিভটি আড়াল করতে সাধারণ শীতল অ্যানিমেশনটি ব্যবহার করবে তবে অ্যানিমেশন সমাপ্তির পরে আপনি দৃশ্যমানতা গোপনে সেট করে এবং ব্লক করতে প্রদর্শন করুন।
একটি উদাহরণ: http://jsfiddle.net/bTkKG/1/
আমি জানি আপনি $ ("# আ")। সিএসএস () সমাধান চান নি, তবে আপনি নির্দিষ্ট করে দেননি কারণ এটি কেবলমাত্র সিএসএস () পদ্ধতি ব্যবহার করে আপনি অ্যানিমেশনটি হারাবেন।
এখানে একটি বাস্তবায়ন, কী কাজ করে $.prop(name[,value])
বা কী কাজ করে তা $.attr(name[,value])
। যদি b
ভেরিয়েবলটি পূরণ করা থাকে তবে দৃশ্যমানতাটি সেই অনুযায়ী সেট করা হয় এবং this
ফিরে আসে (অন্যান্য বৈশিষ্ট্যগুলির সাথে চালিয়ে যাওয়ার অনুমতি দেওয়া হয়), অন্যথায় এটি দৃশ্যমানতার মান ফেরত দেয়।
jQuery.fn.visible = function (b) {
if(b === undefined)
return this.css('visibility')=="visible";
else {
this.css('visibility', b? 'visible' : 'hidden');
return this;
}
}
উদাহরণ:
$("#result").visible(true).on('click',someFunction);
if($("#result").visible())
do_something;
জিকুয়েরি লুকানোর () / শো () এর জন্য খাঁটি জেএস সমতুল্য:
function hide(el) {
el.style.visibility = 'hidden';
return el;
}
function show(el) {
el.style.visibility = 'visible';
return el;
}
hide(document.querySelector(".test"));
// hide($('.test')[0]) // usage with jQuery
আমরা সাবলীল ইন্টারফেস "ডিজাইনের ধরণ" return el
সন্তুষ্ট করার কারণে ব্যবহার করি ।
এখানে কাজ উদাহরণ ।
নীচে আমি আরও অপ্রত্যাশিত বিকল্প প্রদান করি , যা সম্ভবত "প্রশ্নের কাছে" উত্তর বেশি:
HTMLElement.prototype.hide = function() {
this.style.visibility = 'hidden';
return this;
}
HTMLElement.prototype.show = function() {
this.style.visibility = 'visible';
return this;
}
document.querySelector(".test1").hide();
// $('.test1')[0].hide(); // usage with jQuery
অবশ্যই এটি jQuery 'প্রতিটি' বাস্তবায়িত করে না ( @ জেমস অ্যালার্ডাইস উত্তরে দেওয়া ) কারণ আমরা এখানে খাঁটি জেএস ব্যবহার করি।
কাজের উদাহরণ এখানে ।
.toggle()