window (উইন্ডো)। স্ক্রোলটপ () বনাম $ (দস্তাবেজ)। স্ক্রোলটপ ()


উত্তর:


149

তারা উভয় একই প্রভাব হতে চলেছে ।

যাইহোক, মন্তব্যে নির্দেশিত হিসাবে: এর চেয়ে $(window).scrollTop()আরও বেশি ওয়েব ব্রাউজার দ্বারা সমর্থিত$('html').scrollTop()


3
এটি IE8 এ 0 ফেরত দেয় (যদিও আমার পৃষ্ঠাটি কুইর্কস মোডে রয়েছে, যা কোনও ফ্যাক্টর খেলতে পারে)
গ্রেগ ওগল

38
'(' এইচটিএমএল ') sc স্ক্রোলটপ () ক্রস ব্রাউজার নয় (সেটার হিসাবে এটি কমপক্ষে ক্রোমে কাজ করে না)। আপাতত এটি করার সর্বাধিক ক্রসব্রোজার উপায় হ'ল: get (উইন্ডো) sc স্ক্রোলটপ () গেটর হিসাবে, $ ('এইচটিএমএল, বডি') sc
জর্জি Ivankin

6
এই রেফারেন্স অনুসারে , তর্ক ছাড়াই scrollTopকোথাও স্ক্রোল করে না, তবে কেবল বর্তমান স্ক্রোলের অবস্থানটি ফিরিয়ে দেয়।
অথবা ম্যাপার

3
@ d2burke scrollTop()একটি গিটার এবং scrollTop(value)একটি সেটার। scrollTop()তর্ক ছাড়াই স্ক্রোল অবস্থান পরিবর্তন করে না।

1
@ M98 window.scrollTo (X, Y)
Bodman

36

প্রথমত, আপনাকে windowএবং এর মধ্যে পার্থক্য বুঝতে হবে documentwindowবস্তুর একটি শীর্ষ স্তরের ক্লায়েন্ট সাইড অবজেক্ট। windowবস্তুর উপরে কিছুই নেই । জাভাস্ক্রিপ্ট একটি অবজেক্ট ওরিয়েন্টেটেড ভাষা। আপনি কোনও বস্তু দিয়ে শুরু করুন এবং এর বৈশিষ্ট্য বা এর বস্তু গোষ্ঠীর বৈশিষ্ট্যগুলিতে পদ্ধতি প্রয়োগ করুন। উদাহরণস্বরূপ, documentঅবজেক্টটি বস্তুর একটি windowঅবজেক্ট। documentএর পটভূমি রঙ পরিবর্তন করতে , আপনি documentএর bgcolorসম্পত্তি সেট করতে চাই ।

window.document.bgcolor = "red" 

আপনার প্রশ্নের উত্তর দিতে, মধ্যে শেষ ফলাফলে কোনো পার্থক্য নেই windowএবং document scrollTop। উভয়ই একই আউটপুট দেবে।

Http://jsfiddle.net/7VRvj/6/ এ কাজের উদাহরণ পরীক্ষা করুন

সাধারণ ব্যবহার সালে documentপ্রধানত ঘটনা রেজিস্টার করো এবং ব্যবহার করা windowমত কাজগুলি করার scroll, scrollTopএবং resize


শেষ ফলাফলের মধ্যে কোনও পার্থক্য নেই। উভয়ই একই আউটপুট দেবে।
হুসেন

স্পষ্টতই নয়, কিছু ব্রাউজার উইন্ডো স্ক্রোল সমর্থন করে না কারণ উইন্ডো অবজেক্টটি প্রবাহিত অবজেক্ট নাও হতে পারে।
বোডম্যান

11
কোন ব্রাউজার উইন্ডো সমর্থন করে না, নির্দিষ্ট করুন। এখানে jsfiddle.net/7VRvj/4 উদাহরণ রয়েছে । এটি সমস্ত ব্রাউজারে পরীক্ষা করুন এবং আমাকে জানান যে এটি কোন ব্রাউজারটিতে কাজ করছে না।
হুসেন

4

ব্রাউজারটি এটি করার উপায় way

var top = ($(window).scrollTop() || $("body").scrollTop());

1
দ্রষ্টব্য: $("body").scrollTop()সর্বদা গুগল ক্রোমে 0 ফিরে আসুন।
জোনাথন পিতামাতা লভস্কে

2
$("body").scrollTop()অবচয় করা হয়েছে, ক্রোম বা এফএফ-এ আর কাজ করে না । এটি 0
জর্জি লাজো

0

আমি scrollTopএখানে বর্ণিত একই ধরণের কিছু সমস্যা পেয়েছি ।

শেষ পর্যন্ত আমি নির্বাচক ব্যবহার করে এটি ফায়ারফক্স এবং আইইয়ের কাছাকাছি পেয়েছি$('*').scrollTop(0);

আপনি কার্যকর করতে চান না এমন উপাদানগুলি নিখুঁত নয় তবে এটি ডকুমেন্ট, বডি, এইচটিএমএল এবং উইন্ডো বৈষম্যকে ঘিরে। যদি এটি সাহায্য করে ...


20
আপনার কখনই * এভাবে ব্যবহার করা উচিত নয় (আসলে, পুরোপুরি * এড়ানো)। একটি উপাদানকে লক্ষ্যবস্তু করার পরিবর্তে আপনি পুরো ডোমকে প্রভাবিত করছেন। বিশাল পারফরম্যান্স হিট। নির্বাচকদের যথাসম্ভব যথাযথ হওয়া উচিত।
ভ্লাদ

2
আমি ব্যক্তিগতভাবে সর্বদা ব্যবহার করেছি $("html,body").scrollTop(val)- কখনও কোনও সমস্যা হয়নি
রুই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.