
যখন কোনও ফাংশন ডাকা হবে তখন কীভাবে আমি আমার কার্সারটিকে এই লোডিং আইকনে পরিবর্তন করতে পারি এবং কীভাবে জাভাস্ক্রিপ্ট / জ্যাকুরিতে এটি একটি সাধারণ কার্সারে ফিরে যেতে পারি?

যখন কোনও ফাংশন ডাকা হবে তখন কীভাবে আমি আমার কার্সারটিকে এই লোডিং আইকনে পরিবর্তন করতে পারি এবং কীভাবে জাভাস্ক্রিপ্ট / জ্যাকুরিতে এটি একটি সাধারণ কার্সারে ফিরে যেতে পারি?
উত্তর:
আপনার jQuery ব্যবহার:
$("body").css("cursor", "progress");
এবং তারপরে আবার স্বাভাবিক অবস্থায় ফিরে আসুন
$("body").css("cursor", "default");
$("html,body")কারণ আমার পৃষ্ঠার দেহটি উইন্ডোর অর্ধেক ফিট করে তাই নীচের অর্ধেকের উপর ঘুরে বেড়ানোর সময় কার্সরটি এখনও ডিফল্ট ছিল।
!importantনীচে @ হারাবিনউইটজ এর সমাধানটি ব্যবহার করা ভাল বলে মনে করেছি
একজন সহকর্মী এমন একটি পদ্ধতির পরামর্শ দিলেন যা আমি এখানে নির্বাচিত সমাধানের চেয়ে পছন্দনীয় মনে করি। প্রথমে, সিএসএসে, এই নিয়মটি যুক্ত করুন:
body.waiting * {
cursor: progress;
}
তারপরে, অগ্রগতি কার্সারটি চালু করতে, বলুন:
$('body').addClass('waiting');
এবং অগ্রগতি কার্সারটি বন্ধ করতে, বলুন:
$('body').removeClass('waiting');
এই পদ্ধতির সুবিধা হ'ল আপনি যখন অগ্রগতি কার্সারটি বন্ধ করবেন তখন আপনার সিএসএসে অন্য যে কোনও কার্সার সংজ্ঞায়িত করা যেতে পারে তা পুনরুদ্ধার করা হবে। সিএসএস নিয়মটি যদি অন্য সিএসএস বিধিগুলিকে ছাড়িয়ে দেওয়ার পক্ষে যথেষ্ট শক্তিশালী না হয় তবে আপনি শরীর এবং নিয়মে কোনও আইডি যুক্ত করতে পারেন, বা ব্যবহার করতে পারেন !important।
2018 এর জন্য দয়া করে jQuery ব্যবহার করবেন না! এই এক ক্রিয়াটি সম্পাদন করার জন্য একটি সম্পূর্ণ বাহ্যিক গ্রন্থাগারকে অন্তর্ভুক্ত করার কোনও কারণ নেই যা এক লাইনের মাধ্যমে অর্জন করা যেতে পারে:
স্পিনারে কার্সার পরিবর্তন করুন: document.body.style.cursor = 'wait';
কার্সারটিকে স্বাভাবিক অবস্থায় ফেরা: document.body.style.cursor = 'default';
নিম্নলিখিতটি আমার পছন্দের উপায়, এবং প্রতিটি পৃষ্ঠার অর্থ পরিবর্তন করতে যাওয়া প্রতিটি সময় কার্সারটি পরিবর্তন করবে beforeunload
$(window).on('beforeunload', function(){
$('*').css("cursor", "progress");
});
Jquery এবং CSS ব্যবহার:
$("#element").click(function(){
$(this).addClass("wait");
});
এইচটিএমএল: <div id="element">Click and wait</div>
সিএসএস: .wait {cursor:wait}
div। অনুশীলনে, অপেক্ষা কর্সার দেখানোর জন্য নির্বাচিত আইটেমটি ক্লিক করা আইটেমের চেয়ে বড় হওয়া উচিত। প্রায়শই, গৃহীত উত্তরের মতো পুরো পৃষ্ঠায় প্রদর্শন করা সেরা।
সমস্ত একক উপাদানকে ওভাররাইড করুন
$("*").css("cursor", "progress");
$('#some_id').click(function() {
$("body").css("cursor", "progress");
$.ajax({
url: "test.html",
context: document.body,
success: function() {
$("body").css("cursor", "default");
}
});
});
আপনার এজ্যাক্স কল সফল না হওয়া পর্যন্ত এটি একটি লোডিং কার্সার তৈরি করবে।
successএবং completejQ3 সরানো, তাই আপনার সাথে যেতে হবে $.ajax(...).always(...);অগ্রগতি কার্সার স্থাপন করা যেতে পারে beforeSendফাংশন।
JQuery:
$("body").css("cursor", "progress");
ফিরে আবার
$("body").css("cursor", "default");
বিশুদ্ধ:
document.body.style.cursor = 'progress';
ফিরে আবার
document.body.style.cursor = 'default';
এর জন্য আপনার জাভাস্ক্রিপ্টের দরকার নেই। আপনি সিএসএস ব্যবহার করে যে কোনও কিছুতে কার্সারটি পরিবর্তন করতে পারেন:
selector {
cursor: url(myimage.jpg), auto;
}
ব্রাউজার সমর্থনের জন্য এখানে দেখুন কারণ ব্রাউজারের উপর নির্ভর করে কিছু সূক্ষ্ম পার্থক্য রয়েছে
আপনি করতে পারেন আরও কিছু আকর্ষণীয় এখানে। প্রতিটি এজাক্স কলের ঠিক আগে কল করার জন্য একটি ফাংশন সংজ্ঞায়িত করুন। প্রতিটি এজাক্স কল শেষ হওয়ার পরে কল করার জন্য একটি ফাংশনও বরাদ্দ করুন। প্রথম ফাংশন ওয়েট কার্সার সেট করবে এবং দ্বিতীয়টি এটি সাফ করবে। এগুলি দেখতে নিম্নলিখিতগুলির মতো:
$(document).ajaxComplete(function(event, request, settings) {
$('*').css('cursor', 'default');
});
function waitCursor() {
$('*').css('cursor', 'progress');
}
এটি যদি খুব দ্রুত সঞ্চয় হয় তবে এটি ব্যবহার করে দেখুন:
<style media="screen" type="text/css">
.autosave {display: inline; padding: 0 10px; color:green; font-weight: 400; font-style: italic;}
</style>
<input type="button" value="Save" onclick="save();" />
<span class="autosave" style="display: none;">Saved Successfully</span>
$('span.autosave').fadeIn("80");
$('span.autosave').delay("400");
$('span.autosave').fadeOut("80");
'বডি' এর জন্য কার্সার সেট করা পৃষ্ঠার পটভূমির জন্য কার্সার পরিবর্তন করবে তবে এটি নিয়ন্ত্রণের জন্য নয়। উদাহরণস্বরূপ, বোতামগুলির উপরে ঘোরাফেরা করার সময় এখনও নিয়মিত কার্সার থাকবে। নিম্নলিখিতটি আমি ব্যবহার করছি:
'অপেক্ষা' কার্সার সেট করতে, একটি শৈলী উপাদান তৈরি করুন এবং মাথায় sertোকান:
var css = "* { cursor: wait; !important}";
var style = document.createElement("style");
style.type = "text/css";
style.id = "mywaitcursorstyle";
style.appendChild(document.createTextNode(css));
document.head.appendChild(style);
তারপরে কার্সারটি পুনরুদ্ধার করতে শৈলীর উপাদান মুছুন:
var style = document.getElementById("mywaitcursorstyle");
if (style) {
style.parentNode.removeChild(style);
}
আমি দেখেছি যে কার্সারটি কার্যকরভাবে তার স্টাইলটি পুনঃনির্ধারণের জন্য ওয়েট স্টাইলে পরিবর্তিত হওয়ার আগে যা ছিল তার একমাত্র উপায় হ'ল মূল শৈলীতে পৃষ্ঠার শুরুতে একটি শৈল শীট বা শৈলী ট্যাগগুলিতে সেট করা, সেট করা শৈলীর নামতে প্রশ্নযুক্ত বস্তুর শ্রেণি। তারপরে আপনার অপেক্ষার পরে, আপনি কার্সার শৈলীটি একটি খালি স্ট্রিংয়ে "ডিফল্ট" হিসাবে পুনরায় সেট করেছেন এবং এটি আপনার স্টাইল ট্যাগ বা স্টাইল শীটে সেট করা হিসাবে এটির মূল মানটিতে ফিরে আসে। অপেক্ষার পরে এটিকে "ডিফল্ট" হিসাবে সেট করা প্রতিটি উপাদানগুলির জন্য কার্সার শৈলীতে "ডিফল্ট" নামক শৈলীতে পরিবর্তিত হয় যা একটি পয়েন্টার। এটি এর আগের মানটিতে ফিরে আসে না।
এই কাজটি করার জন্য দুটি শর্ত রয়েছে। প্রথমে আপনাকে স্টাইল শিটে বা পৃষ্ঠার শিরোনামে স্টাইল ট্যাগ সহ স্টাইলটি সেট করতে হবে, কোনও ইনলাইন শৈলী হিসাবে নয় এবং দ্বিতীয়টি হ'ল অপেক্ষা শৈলীতে খালি স্ট্রিংয়ে সেট করে এটির স্টাইলটি পুনরায় সেট করা।