উত্তর:
পুরানো প্রশ্ন, তবে যদি কেউ গুগলের মাধ্যমে এটি খুঁজে পায় (যেমনটি আমি করেছি) এবং কে অ্যাঙ্কর বা jquery ব্যবহার করতে চায় না; কোনও উপাদানটিতে 'লাফ' দেওয়ার জন্য একটি অন্তর্নিহিত জাভাস্ক্রিপ্ট ফাংশন রয়েছে;
document.getElementById('youridhere').scrollIntoView();
এবং আরও ভাল কি; কুইর্কসমোডে দুর্দান্ত সামঞ্জস্যতা-সারণী অনুসারে, এটি সমস্ত বড় ব্রাউজার দ্বারা সমর্থিত !
document.getElementById('#something').scrollIntoView({ behavior: 'smooth', block: 'center' });
জিকুয়েরি স্ক্রোলটো সম্পর্কে কীভাবে - এই নমুনা কোডটি দেখুন
<a href="#myAnchorALongWayDownThePage">Click here to scroll</a>
<A name='myAnchorALongWayDownThePage"></a>
কোনও অভিনব স্ক্রোলিং নয় তবে এটি আপনাকে সেখানে নিয়ে যাওয়া উচিত।
স্ক্রোলিংয়ের সাথে অসুবিধাটি হ'ল আপনাকে কেবল একটি ডিভিটি দেখানোর জন্য পৃষ্ঠাটি স্ক্রোল করার প্রয়োজন হতে পারে না, তবে আপনার কয়েকটি স্তরের স্ক্রোলযোগ্য ডিভের ভিতরেও স্ক্রোল করতে হতে পারে।
স্ক্রোলটপ সম্পত্তি ডকুমেন্ট বডি সহ যে কোনও ডিওএম উপাদানগুলিতে উপলব্ধ। এটি সেট করে আপনি নিয়ন্ত্রণ করতে পারেন যে কতটা নিচে স্ক্রল করা আছে। আপনি কত স্ক্রোলিং প্রয়োজন তা দেখতে ক্লায়েন্টহাইট এবং স্ক্রোলহাইট বৈশিষ্ট্যগুলিও ব্যবহার করতে পারেন (যখন ক্লায়েন্টহাইট (ভিউপোর্ট) স্ক্রোলহাইট (সামগ্রীর উচ্চতা) এর চেয়ে কম হয় তখন স্ক্রোলিং সম্ভব।
ধারকটিতে কোন উপাদানটি রয়েছে তা নির্ধারণের জন্য আপনি অফসেটটপ সম্পত্তিটি ব্যবহার করতে পারেন।
স্ক্র্যাচ থেকে একটি সত্যিকারের সাধারণ উদ্দেশ্য "দেখুন" স্ক্রোল করুন "র জন্য, আপনি যে নোডটি প্রকাশ করতে চান তা শুরু করতে হবে, এটি তার পিতামাতার দৃশ্যমান অংশে রয়েছে কিনা তা নিশ্চিত করুন, তারপরে পিতামাতার জন্য একই পুনরাবৃত্তি করুন, ইত্যাদি, সমস্ত আপনি শীর্ষে পৌঁছানো পর্যন্ত উপায়।
এর এক ধাপে এরকম কিছু দেখতে পাওয়া যাবে (অরক্ষিত কোড, প্রান্তের কেসগুলি পরীক্ষা করা হচ্ছে না):
function scrollIntoView(node) {
var parent = node.parent;
var parentCHeight = parent.clientHeight;
var parentSHeight = parent.scrollHeight;
if (parentSHeight > parentCHeight) {
var nodeHeight = node.clientHeight;
var nodeOffset = node.offsetTop;
var scrollOffset = nodeOffset + (nodeHeight / 2) - (parentCHeight / 2);
parent.scrollTop = scrollOffset;
}
if (parent.parent) {
scrollIntoView(parent);
}
}
Element.scrollIntoView()উপরে বর্ণিত পদ্ধতি অনুসারে আপনি পদ্ধতিটি ব্যবহার করতে পারেন । যদি আপনি এটি কোনও প্যারামিটারের ভিতরে না রেখে থাকেন তবে আপনার তাত্ক্ষণিক কুরুচিপূর্ণ স্ক্রোল থাকবে । এটি রোধ করতে আপনি এই প্যারামিটারটি যুক্ত করতে পারেন - behavior:"smooth"।
উদাহরণ:
document.getElementById('scroll-here-plz').scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"});
কোনও ওয়েবসাইটে scroll-here-plzআপনার divবা উপাদানটির সাথে কেবল প্রতিস্থাপন করুন। এবং যদি আপনি আপনার উইন্ডোর নীচে আপনার উপাদানটি দেখতে পান বা অবস্থানটি আপনার প্রত্যাশা মতো নয়, তবে প্যারামিটার দিয়ে খেলুন block: ""। আপনি ব্যবহার করতে পারেন block: "start", block: "end"বা block: "center"।
মনে রাখবেন: সর্বদা কোনও বস্তুর ভিতরে প্যারামিটার ব্যবহার করুন}}।
যদি আপনার এখনও সমস্যা হয় তবে https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView এ যান
এই পদ্ধতির জন্য বিশদ ডকুমেন্টেশন রয়েছে।
আপনার প্রয়োজনীয় সম্পত্তি হ'ল লোকেশন location উদাহরণস্বরূপ:
অবস্থান.hash = 'শীর্ষ'; // নাম দেওয়া অ্যাঙ্কর "শীর্ষে লাফিয়ে যাবে
আমি জানি না যে কীভাবে ডোজো বা এর মতো কিছু সরঞ্জামদণ্ড ব্যবহার না করে সুন্দর স্ক্রোল অ্যানিমেশনটি করা যায় তবে আপনার যদি কোনও অ্যাঙ্কারে ঝাঁপিয়ে পড়ার দরকার হয় তবে লোকেশন.হ্যাশটি এটি করা উচিত।
(এফএফ 3 এবং সাফারি 3.1.2 এ পরীক্ষিত)
উপরের ফুট্টার জবাবটিতে আমি কোনও মন্তব্য যুক্ত করতে পারি না, তবে একটি মসৃণ স্ক্রোল ব্যবহারের জন্য:
onClick="document.getElementById('more').scrollIntoView({block: 'start', behavior: 'smooth'});"
স্ক্রোলটপ (আইআইআরসি) হ'ল ডকুমেন্টে পৃষ্ঠার শীর্ষে স্ক্রোল করা আছে। স্ক্রোলটো পৃষ্ঠাটি স্ক্রোল করে যাতে পৃষ্ঠার শীর্ষে যেখানে আপনি নির্দিষ্ট করেন সেখানে।
আপনার এখানে যা দরকার তা হ'ল কয়েকটি জাভাস্ক্রিপ্ট ম্যানিপুলেটেড শৈলী। বলুন আপনি যদি ডিভ অফ-স্ক্রিনটি চান এবং ডান দিক থেকে স্ক্রল করে আপনি পৃষ্ঠার প্রস্থে ডিভের বাম বৈশিষ্ট্য নির্ধারণ করবেন এবং আপনি যেখানে চান সেখানে প্রতি সেকেন্ডে সেট পরিমাণ দ্বারা এটি হ্রাস করবেন decrease
এটি আপনাকে সঠিক দিকে নির্দেশ করবে।
অতিরিক্ত: আমি দুঃখিত, আমি ভেবেছিলাম আপনি অন্য কোথাও থেকে 'পপ আউট' করতে আলাদা ডিভ চেয়েছিলেন (এই সাইটের মতো কখনও কখনও করা হয়), এবং পুরো পৃষ্ঠাটি কোনও বিভাগে না সরানো। অ্যাঙ্করগুলির যথাযথ ব্যবহার সেই প্রভাব অর্জন করবে।
কোনও ডিওএম উপাদানটিতে স্ক্রোল করার সাধারণ ক্ষেত্রে একটি jQuery প্লাগইন রয়েছে , তবে যদি পারফরম্যান্সটি কোনও সমস্যা হয় (এবং কখন তা নয়?), আমি নিজেই এটি করার পরামর্শ দিই। এর মধ্যে দুটি পদক্ষেপ জড়িত:
Quirksmode প্রাক্তন পিছনে প্রক্রিয়া একটি ভাল ব্যাখ্যা দেয়। এখানে আমার পছন্দসই সমাধান:
function absoluteOffset(elem) {
return elem.offsetParent && elem.offsetTop + absoluteOffset(elem.offsetParent);
}
এটি নাল থেকে 0 পর্যন্ত ingালাই ব্যবহার করে যা কিছু চেনাশোনাগুলিতে উপযুক্ত শিষ্টাচার নয়, তবে আমি এটি পছন্দ করি) দ্বিতীয় অংশটি ব্যবহার করে window.scroll। সুতরাং সমাধানের বাকি অংশটি হ'ল:
function scrollToElement(elem) {
window.scroll(absoluteOffset(elem));
}
ভাল খবর!
আমি ব্যক্তিগতভাবে জোশের jQuery- ভিত্তিক উত্তরটি আমি দেখতে পেয়েছি সেরা হিসাবে খুঁজে পেয়েছি এবং আমার অ্যাপ্লিকেশনটির জন্য নিখুঁতভাবে কাজ করেছি ... অবশ্যই, আমি ইতিমধ্যে jQuery ব্যবহার করছিলাম ... আমি অবশ্যই পুরো জেকিউ লাইব্রেরিটি কেবল তার জন্য অন্তর্ভুক্ত না করতাম এক উদ্দেশ্য
চিয়ার্স!
সম্পাদনা: ঠিক আছে ... এটি পোস্ট করার ঠিক কয়েক সেকেন্ড পরে, আমি আমার ঠিক নীচে আরেকটি উত্তর দেখতে পেয়েছি (নিশ্চিত না যে এটি সম্পাদনার পরেও আমার নীচে রয়েছে কিনা) যা ব্যবহার করতে বলেছে:
document.getElementById ( 'your_element_ID_here') scrollIntoView ()।
এটি jQuery সংস্করণের তুলনায় পুরোপুরি এবং এত কম কোডে কাজ করে! আমার কোনও ধারণা ছিল না যে জেএস-তে একটি অন্তর্নির্মিত ফাংশন রয়েছে .crolIntoView () নামে পরিচিত, তবে এটি সেখানে রয়েছে! সুতরাং, আপনি যদি অভিনব অ্যানিমেশন চান, jQuery যান। দ্রুত এন 'নোংরা ... এটি ব্যবহার করুন!
মসৃণ স্ক্রোলের জন্য এই কোডটি কার্যকর
$('a[href*=#scrollToDivId]').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
var head_height = $('.header').outerHeight(); // if page has any sticky header get the header height else use 0 here
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top - head_height
}, 1000);
return false;
}
}
});
আমি ভুল হলে আমাকে সংশোধন করুন কিন্তু আমি বারবার প্রশ্নটি পড়ছি এবং এখনও মনে করি অ্যাঙ্গাস ম্যাককোটআপ কীভাবে কোনও উপাদানকে অবস্থান হিসাবে স্থির করতে হবে তা স্থির করে: ঠিক করা হয়েছে asking
অ্যাঙ্গাস ম্যাককোটআপ, http://www.cssplay.co.uk/layouts/fixed.html দেখুন - আপনি যদি নিজের ডিআইভি সেখানে মেনুর মতো আচরণ করতে চান তবে সেখানে একটি সিএসএস দেখুন have