যদি ব্যবহারকারী স্ক্রল করছে তবে আমি জাভাস্ক্রিপ্টে কীভাবে সনাক্ত করতে পারি?
scrollingমধ্যে onscroll। (পিএস: না, এটি একই নয়)
যদি ব্যবহারকারী স্ক্রল করছে তবে আমি জাভাস্ক্রিপ্টে কীভাবে সনাক্ত করতে পারি?
scrollingমধ্যে onscroll। (পিএস: না, এটি একই নয়)
উত্তর:
এইটা কাজ করে:
window.onscroll = function (e) {
// called when the window is scrolled.
}
সম্পাদনা করুন:
আপনি বলেছেন যে এটি একটি টাইমআইন্টারওয়ালের একটি ফাংশন ..
এটি এরকম করে করার চেষ্টা করুন:
userHasScrolled = false;
window.onscroll = function (e)
{
userHasScrolled = true;
}
তারপরে আপনার ইন্টারভালের ভিতরে এটি সন্নিবেশ করুন:
if(userHasScrolled)
{
//do your code here
userHasScrolled = false;
}
আপনি কেবল আপনার ট্যাগগুলিতে জাভাস্ক্রিপ্ট বলেছেন, সুতরাং @ ওম্পি ড্রাইসন পোস্ট আপনাকে সহায়তা করতে পারে।
আমিও অবদান রাখতে চাই, যাতে আপনার প্রয়োজন হলে jQuery ব্যবহার করার সময় নিম্নলিখিতগুলি ব্যবহার করতে পারেন।
//Firefox
$('#elem').bind('DOMMouseScroll', function(e){
if(e.detail > 0) {
//scroll down
console.log('Down');
}else {
//scroll up
console.log('Up');
}
//prevent page fom scrolling
return false;
});
//IE, Opera, Safari
$('#elem').bind('mousewheel', function(e){
if(e.wheelDelta< 0) {
//scroll down
console.log('Down');
}else {
//scroll up
console.log('Up');
}
//prevent page fom scrolling
return false;
});
আরেকটি উদাহরণ:
$(function(){
var _top = $(window).scrollTop();
var _direction;
$(window).scroll(function(){
var _cur_top = $(window).scrollTop();
if(_top < _cur_top)
{
_direction = 'down';
}
else
{
_direction = 'up';
}
_top = _cur_top;
console.log(_direction);
});
});
$('#elem').bind('scroll'যথেষ্ট নয়? সম্পাদনা: কিছু মনে করবেন না, আমি আপনার দ্বিতীয় উদাহরণটি দেখেছি।
e.originalEvent.wheelDelta || e.originalEvent.detail?
wheelইভেন্টটি ব্যবহার করুন ।
window.addEventListener("scroll",function(){
window.lastScrollTime = new Date().getTime()
});
function is_scrolling() {
return window.lastScrollTime && new Date().getTime() < window.lastScrollTime + 500
}
আপনি সর্বশেষ স্ক্রোল ইভেন্টের পরে 500 মিলিসেকেন্ডের সংখ্যায় পরিবর্তন করুন যেখানে আপনি ব্যবহারকারীকে "আর স্ক্রোলিং" হিসাবে বিবেচনা করবেন না।
(এর addEventListenerচেয়ে ভাল onScrollকারণ প্রাক্তন অন্য যে কোনও কোড ব্যবহার করে তা ভালভাবে সহাবস্থান করতে পারে onScroll))
ব্যবহারকারী স্ক্রোল করেছে কিনা তা পরীক্ষা করে চালিয়ে যাওয়ার জন্য আপনি একটি বিরতি সেটআপ করতে পারেন তবে সেই অনুযায়ী কিছু করুন।
মহান থেকে ধার জন Resig মধ্যে তার প্রবন্ধে ।
উদাহরণ:
let didScroll = false;
window.onscroll = () => didScroll = true;
setInterval(() => {
if ( didScroll ) {
didScroll = false;
console.log('Someone scrolled me!')
}
}, 250);
if(scolling)।if(window.onscroll)একই কি ?