জাভাস্ক্রিপ্ট ব্যবহার করে পৃষ্ঠার শীর্ষে স্ক্রোল করবেন?


1592

আমি কীভাবে জাভাস্ক্রিপ্ট ব্যবহার করে পৃষ্ঠার শীর্ষে স্ক্রোল করব? এমনকি স্ক্রোলবারটি তাত্ক্ষণিকভাবে শীর্ষে চলে আসে এমনকি এটি কাম্য। আমি একটি মসৃণ স্ক্রোলিং খুঁজছি না।


2019, এড়ানোর জন্য “এই সাইটটি কোনও স্ক্রোল-লিঙ্কযুক্ত অবস্থানের প্রভাব ব্যবহার করে বলে মনে হচ্ছে। এটি অ্যাসিঙ্ক্রোনাস প্যানিংয়ের সাথে ভাল কাজ করতে পারে না "আমার স্ক্রিপ্ট স্ট্যাকওভারফ্লো.com
কনস্টান্টিন

উত্তর:


2170

যদি আপনার অ্যানিমেট করার জন্য পরিবর্তনটির প্রয়োজন না হয় তবে আপনার কোনও বিশেষ প্লাগইন ব্যবহার করার প্রয়োজন নেই - আমি কেবল নেটিভ জাভাস্ক্রিপ্ট উইন্ডো ব্যবহার করব sc স্ক্রোলটি পদ্ধতি - 0,0 এ যাওয়ার সাথে সাথে পৃষ্ঠাটি ততক্ষণে উপরের বামে স্ক্রোল করবে ।

window.scrollTo(x-coord, y-coord);

পরামিতি

  • এক্স-কোর্ডারটি অনুভূমিক অক্ষের সাথে পিক্সেল।
  • উল্লম্ব অক্ষের সাথে y-Coord পিক্সেল।

176
এটি আমার বক্তব্য ছিল, আপনার যদি মসৃণ স্ক্রোলিং সঞ্চার করার প্রয়োজন না হয় তবে আপনার jQuery ব্যবহার করার দরকার নেই।
ড্যানিয়েলম্ব

22
জেফের মন্তব্য মজার হিসাবে মজাদার লোকেরা যারা খালি ক্রস ব্রাউজারে কাজ করতে চায় 95% সময় কেবল jQuery ব্যবহার করা উচিত। এই কেউ বিশুদ্ধ জাভাস্ক্রিপ্ট অনেক লিখতে হয়েছে থেকে আসছে ডান এখন, কারণ আমরা নিচে বিজ্ঞাপন কোড গতি কমে একটি লাইব্রেরির ওভারহেড সামর্থ্য না করতে পারেন :(
উইল

11
এই প্রশ্নের প্রশ্নের সাথে কোনও সম্পর্ক নেই। যদি প্রশ্নটি ছিল তবে এটি ঠিক থাকবে: পৃষ্ঠার শীর্ষে স্ক্রোল করার জন্য আমার কোন স্ক্রিপ্ট এবং পদ্ধতিগুলি ব্যবহার করা উচিত? সঠিক উত্তর এখানে: stackoverflow.com/questions/4147112/...
skobaljic

2
ফায়ারফক্স 40 এবং ক্রোম 44 (মিখাইলের মন্তব্যকে
টনি করুন

10
পৃষ্ঠার নীচে স্ক্রোল করুনwindow.scrollTo(0, document.body.scrollHeight);
এমিক্স

1343

আপনি যদি মসৃণ স্ক্রোলিং করতে চান তবে এর মতো কিছু চেষ্টা করুন:

$("a[href='#top']").click(function() {
  $("html, body").animate({ scrollTop: 0 }, "slow");
  return false;
});

এটি এমন কোনও <a>ট্যাগ নেবে href="#top"এবং এটিকে শীর্ষে মসৃণ করে তুলবে।


+1 টি। আমি কেবল ভাবছিলাম যে কীভাবে এটি করা যায় এবং গুগল আমাকে এখানে নিয়ে যায়। ক্যোসেশন যদিও, ডক্সে "স্ক্রোলটপ" ফাংশনটি কোথায়? আমি স্রেফ তাকালাম কিন্তু এটি পেলাম না।
স্কোরাম

22
স্ক্রোলটপ ফাংশন করে না, এটি উইন্ডো উপাদানটির সম্পত্তি
জালাল এল-শায়ের

1
এনিমেটের সম্পূর্ণ কলব্যাক ব্যবহার করার সময় এটি সঠিকভাবে কাজ করে না, কারণ এটি এটি দুবার চালাবে run
ডেভিড মোরালেস

5
"এইচটিএমএল" এবং "বডি" উভয়ই ব্রাউজারের সামঞ্জস্যের জন্য প্রয়োজনীয়, যেমন কেবল "বডি" এবং আইই 8 এর সাথে ক্রোম ভি 27 স্ক্রোলগুলি নেই। আইই 8 কেবলমাত্র "এইচটিএমএল" দিয়ে স্ক্রল করে তবে ক্রোম ভি 27 দেয় না।
সুশিগু

1
@ জালচর আসলে, window.pageYOffsetউইন্ডোটির সম্পত্তি হবে ̶l̶e̶m̶e̶n̶t̶ অবজেক্ট।
অ্যালেক্স ডব্লিউ

176

শীর্ষে স্ক্রোল করার চেষ্টা করুন

<script>
 $(document).ready(function(){
    $(window).scrollTop(0);
});
</script>

এটি একই: যদি (ইতিহাসে 'স্ক্রোলরেস্টারেশন') {ইতিহাস.scrolRestoration = 'ম্যানুয়াল'; }
ভাসিলি সুরিকভ

122

মসৃণ অ্যানিমেশন সহ আরও ভাল সমাধান:

// this changes the scrolling behavior to "smooth"
window.scrollTo({ top: 0, behavior: 'smooth' });

তথ্যসূত্র: https://developer.mozilla.org/en-US/docs/Web/API/Window/scrolTo# উদাহরণ


আপনাকে এখনও ScrollOptions(নির্দিষ্ট ব্রাউজারগুলির জন্য) পলফিল সমর্থন প্রয়োজন হতে পারে : github.com/iamdustan/smoothscrol
jueuendorf

আমি এই সমাধানটি অনেক পছন্দ করি।
সুপারমানিভার

কেউ সাফারি বা ইন্টারনেট এক্সপ্লোরার এ পরীক্ষা করতে পারে এবং দেখতে পারে যে এটি ঠিকঠাক কাজ করছে? ধন্যবাদ
ফ্যাবিও মাগেরেলি

1
@ ফ্যাবিওম্যাগেরেলি এটি সাফারিতে কার্যকর কাজ করছে, আইই তে পরীক্ষা করা হয়নি। এফওয়াইআই এটি সাফারিতে পরীক্ষা করতে কোনও পৃষ্ঠা খুলুন যা বিকাশকারী সরঞ্জামগুলিতে উপরের কোডটি স্ক্রোল করে অনুলিপি করেছে -> কনসোল এটি শীর্ষে যাচাই করা হবে (সাফারি সংস্করণ 13.0.5)।
গণেশ ঘালামে

104

এটি করার জন্য আপনার jQuery দরকার নেই। একটি স্ট্যান্ডার্ড এইচটিএমএল ট্যাগ যথেষ্ট হবে ...

<div id="jump_to_me">
    blah blah blah
</div>

<a target="#jump_to_me">Click Here To Destroy The World!</a>

12
+1 আপনার উপরের দিকে না গিয়ে যদি নির্দিষ্ট উপাদানে নেভিগেট করতে হয় তবে এটি ভাল।
ইশ

38
পৃষ্ঠার শীর্ষে যাওয়ার জন্য '<a href="#"> শীর্ষ </a>' ব্যবহার করুন।
বাকানেকোব্রেন

3
SPAs এর সাথে ডিল করার সময় এটি যাওয়ার সেরা উপায় বলে মনে হয়
ফিল

নিস! এটিকে মসৃণ স্ক্রোল করার কোনও উপায় আছে কি?
stallingOne

65

এই সমস্ত পরামর্শ বিভিন্ন পরিস্থিতিতে দুর্দান্ত কাজ করে। যারা এই পৃষ্ঠার সন্ধানের মাধ্যমে খুঁজে পান, তাদের জন্যও এটি চেষ্টা করে দেখতে পারেন। JQuery, কোনও প্লাগ-ইন নেই, উপাদানটিতে স্ক্রোল করুন।

$('html, body').animate({
    scrollTop: $("#elementID").offset().top
}, 2000);

47

মসৃণ স্ক্রোল, খাঁটি জাভাস্ক্রিপ্ট:

(function smoothscroll(){
    var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
    if (currentScroll > 0) {
         window.requestAnimationFrame(smoothscroll);
         window.scrollTo (0,currentScroll - (currentScroll/5));
    }
})();

31
<script>
$(function(){
   var scroll_pos=(0);          
   $('html, body').animate({scrollTop:(scroll_pos)}, '2000');
});
</script>

সম্পাদনা:

$('html, body').animate({scrollTop:(scroll_pos)}, 2000);

উপরের এবং বাম মার্জিনের সাথে অন্য কোনও উপায়ে স্ক্রোল করুন:

window.scrollTo({ top: 100, left: 100, behavior: 'smooth' });

4
আপনি কি নিশ্চিত যে অ্যানিমেট ফাংশনটিতে স্ট্রিং হিসাবে সময়কাল কাজ করে?
যোগেশ

আপনি animateফাংশনটির সময়কালের জন্য একটি স্ট্রিং ব্যবহার করতে পারবেন না , পরিবর্তে আপনার ব্যবহার করা উচিত: $('html, body').animate({scrollTop:(scroll_pos)}, 2000);
কেনি আলভিজুরিস

1
প্রথম বন্ধনে 0 মোড়কের বিন্দুটি কী? ((0)) কেবল 0 এ মূল্যায়ন করবে
জ্যাক ভায়াল

হ্যাঁ জ্যাক, আপনি পারেন
কমলেশ

29
<script>

  $("a[href='#top']").click(function() {
     $("html, body").animate({ scrollTop: 0 }, "slow");
     return false;
  });
</script>

এইচটিএমএলে

<a href="#top">go top</a>

28

সত্যিই অদ্ভুত: এই প্রশ্নটি এখন পাঁচ বছর ধরে সক্রিয় এবং এখনও স্ক্রোলিং সঞ্চারিত করার জন্য ভ্যানিলা জাভাস্ক্রিপ্টের কোনও উত্তর নেই ... সুতরাং আপনি এখানে যান:

var scrollToTop = window.setInterval(function() {
    var pos = window.pageYOffset;
    if ( pos > 0 ) {
        window.scrollTo( 0, pos - 20 ); // how far to scroll on each step
    } else {
        window.clearInterval( scrollToTop );
    }
}, 16); // how fast to scroll (this equals roughly 60 fps)

আপনি যদি চান তবে আপনি এটি কোনও ফাংশনে মুড়িয়ে রাখতে পারেন এবং এটিকে onclickঅ্যাট্রিবিউটের মাধ্যমে কল করতে পারেন । এই jsfiddle দেখুন

দ্রষ্টব্য: এটি একটি খুব প্রাথমিক সমাধান এবং সম্ভবত সবচেয়ে পারফরম্যান্ট নয়। খুব বিস্তৃত উদাহরণটি এখানে পাওয়া যাবে: https://github.com/cferdinandi/smooth-scrol


6
প্রশ্নটি স্পষ্টভাবে jQuery সমাধানের জন্য জিজ্ঞাসা করে যদিও। এত অদ্ভুত অদ্ভুত না
উইল

2
আমার জন্য সেরা সমাধান। কোনও প্লাগইন নেই, কোনও বৃহত্ জিকুরি লাইব্রেরি নেই কেবল সরল জাভাস্ক্রিপ্ট। যশ
user2840467

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

27

আপনি যদি মসৃণ স্ক্রোলিং করতে চান তবে দয়া করে এটি চেষ্টা করুন:

$("a").click(function() {
     $("html, body").animate({ scrollTop: 0 }, "slow");
     return false;
});

আর একটি সমাধান হ'ল জাভাস্ক্রিপ্ট উইন্ডো scস্ক্রোলটো পদ্ধতি:

 window.scrollTo(x-value, y-value);

পরামিতি:

  • এক্স-মানটি অনুভূমিক অক্ষের সাথে পিক্সেল।
  • y- মানটি উল্লম্ব অক্ষের সাথে পিক্সেল।

7
copycat ... ব্যবহারকারীদের উত্তর দেখুন ... এটি শীর্ষ 2 টি উত্তরগুলির একটি সংকলন মাত্র ....
লরেন্ট বি

এটি স্ট্যাকওভারফ্লো ব্যবহার করার বৈধ উপায় it এটি এক জায়গায় রাখা আরও ব্যবহারিক। স্ট্যান্ডওভারফ্লো কীভাবে এক পর্যায়ে কাজ করার কথা বলে তার উদাহরণ হিসাবে জোয়েল স্পলস্কি বিদ্যমান উত্তরগুলির পুনরায় ব্যবহার করেছিলেন। আমি চেষ্টা এবং ব্লগ পোস্টের জানতে পারেন আপনি আগ্রহী হলে
এডগার এইচ

26

এর সাথে window.scrollTo(0, 0);খুব দ্রুত হয়
তাই আমি মার্ক উরসিনো উদাহরণটি চেষ্টা করেছিলাম, তবে ক্রোমে কিছু হয় নি
এবং আমি এটি খুঁজে পেয়েছি

$('.showPeriodMsgPopup').click(function(){
    //window.scrollTo(0, 0);
    $('html').animate({scrollTop:0}, 'slow');//IE, FF
    $('body').animate({scrollTop:0}, 'slow');//chrome, don't know if Safari works
    $('.popupPeriod').fadeIn(1000, function(){
        setTimeout(function(){$('.popupPeriod').fadeOut(2000);}, 3000);
    });
});

সমস্ত 3 ব্রাউজার পরীক্ষা করা হয়েছে এবং এটি কাজ করে
আমি ব্লুপ্রিন্ট সিএসএস ব্যবহার করছি
যখন কোনও ক্লায়েন্ট "বুক নাও" বোতামটি ক্লিক করে এবং ভাড়া সময়টি নির্বাচিত না করে, ধীরে ধীরে ক্যালেন্ডারগুলি যেখানে শীর্ষে চলে যায় এবং একটি ডায়ালগ ডিভিশন খোলে যেখানে ting 2 ক্ষেত্র, 3 সেকেন্ড পরে এটি বিবর্ণ হয়


আপনাকে এইচটিএমএল এবং দেহ উভয়কেই লক্ষ্য করা প্রয়োজন বলে নির্দেশ দেওয়ার জন্য ধন্যবাদ। আমি কেবল এটি এইচটিএমএল এর জন্য করছিলাম এবং ভাবছিলাম কেন এটি ক্রোমে কাজ করে না।
জেরেদ

বডি অ্যানিমেশনটি সাফারিতে কাজ করে, তাই আমি আপনার উত্তরটি সেই অনুযায়ী আপডেট করছি।
ডেভ ডুপ্লান্টিস

46
" সমস্ত 3 ব্রাউজার পরীক্ষা করেছেন "? মিডোরি, লুয়াকিট এবং কনকয়েরার, তাই না? : পি
আনকো

14
কেন কেবল দুটি লাইন যুক্ত করার পরিবর্তে $ ('এইচটিএমএল', 'বডি') করবেন না an
ম্যাট স্মিথ

23

একটি অনেক এর ব্যবহারকারীদের ক্রস ব্রাউজার সামঞ্জস্যের জন্য উভয় HTML এবং শরীর ট্যাগ নির্বাচন করার প্রস্তাবনা দিই, তাই মত:

$('html, body').animate({ scrollTop: 0 }, callback);

আপনি যদি একবারে কলব্যাক চালাচ্ছেন তবে এটি আপনাকে ট্রিপ করতে পারে। এটি দুটিবার চলবে কারণ আপনি দুটি উপাদান নির্বাচন করেছেন।

যদি তা আপনার পক্ষে সমস্যা হয় তবে আপনি এটির মতো কিছু করতে পারেন:

function scrollToTop(callback) {
    if ($('html').scrollTop()) {
        $('html').animate({ scrollTop: 0 }, callback);
        return;
    }

    $('body').animate({ scrollTop: 0 }, callback);
}

এই কাজটি করার কারণটি ক্রোমে $('html').scrollTop()0 দেয়, তবে ফায়ারফক্সের মতো অন্য ব্রাউজারগুলিতে নয়।

যদি আপনি স্ক্রোলবারটি ইতিমধ্যে শীর্ষে থাকে সেক্ষেত্রে অ্যানিমেশনটি সম্পূর্ণ হওয়ার জন্য আপনি যদি অপেক্ষা না করতে চান তবে এটি চেষ্টা করুন:

function scrollToTop(callback) {
    if ($('html').scrollTop()) {
        $('html').animate({ scrollTop: 0 }, callback);
        return;
    }

    if ($('body').scrollTop()) {
        $('body').animate({ scrollTop: 0 }, callback);
        return;
    }

    callback();
}

19

পুরানো #topকৌতুক করতে পারে

document.location.href = "#top";

এফএফ, আইই এবং ক্রোমে সূক্ষ্মভাবে কাজ করে


নিস! এটিকে মসৃণ স্ক্রোল করার কোনও উপায় আছে কি?
stallingOne

আপনার নেভিগেশন ভিত্তিক সমাধানগুলি এড়ানো উচিত, শ্রীরামজিয়ামের উত্তর সম্পর্কে মন্তব্য দেখুন।
অ্যান্ড্রু গ্রোথ

15

$(".scrolltop").click(function() {
  $("html, body").animate({ scrollTop: 0 }, "slow");
  return false;
});
.section{
 height:400px;
}
.section1{
  background-color: #333;
}
.section2{
  background-color: red;
}
.section3{
  background-color: yellow;
}
.section4{
  background-color: green;
}
.scrolltop{
  position:fixed;
  right:10px;
  bottom:10px;
  color:#fff;
}
<html>
<head>
<title>Scroll top demo</title>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
</head>
<body>
<div class="content-wrapper">
<div class="section section1"></div>
<div class="section section2"></div>
<div class="section section3"></div>
<div class="section section4"></div>
<a class="scrolltop">Scroll top</a>
</div>

</body>
</html>


3
যদিও এই কোডটি প্রশ্নের উত্তর দিতে পারে, কীভাবে এবং কেন এটি সমস্যার সমাধান করে সে সম্পর্কে তথ্য সরবরাহ করে তার দীর্ঘমেয়াদী মান উন্নত করে
এল_জে

আপনার উত্তর ব্যাখ্যা করুন!
উল্লাস হুঙ্কা

ওয়েব পৃষ্ঠায় যে কোনও ব্যবহারকারী স্ক্রোল শীর্ষ বোতামে ক্লিক করবে তারপরে পৃষ্ঠাটি অ্যানিমেশন সহ শীর্ষে শীর্ষে স্ক্রোল করবে।
অরবিন্দ কুমার

কেন jquery স্ক্রোল () পরিবর্তে অ্যানিমেট ()?
আকিন হাওয়ান


14

$(document).scrollTop(0); কাজ করে।


2
মনে রাখবেন যে আপনি যখন ফায়ারফক্স ব্যবহার করবেন না তখন এটি কাজ করবে না। কেবলমাত্র একটি যুক্তি দেওয়ার সময় আপনি একটি ত্রুটি পান (ত্রুটি: পর্যাপ্ত আর্গুমেন্ট নেই [nsIDOMWindow.scrollTo])।
হুস্কি

14

নন-জিক্যুরি সলিউশন / খাঁটি জাভাস্ক্রিপ্ট:

document.body.scrollTop = document.documentElement.scrollTop = 0;


10

এই কোড ব্যবহার করে দেখুন:

$('html, body').animate({
    scrollTop: $("div").offset().top
}, time);

div => ডোম এলিমেন্ট যেখানে আপনি স্ক্রোল সরাতে চান।

সময় => মিলিসেকেন্ড, স্ক্রোলটির গতি নির্ধারণ করুন।


8

আপনি JQuery ইনবিল্ট ফাংশন স্ক্রোলটপ ব্যবহার করবেন না কেন:

$('html, body').scrollTop(0);//For scrolling to top

$("body").scrollTop($("body")[0].scrollHeight);//For scrolling to bottom

সংক্ষিপ্ত এবং সহজ!


আপনি শুধু লিংক দিতে ভুলে গেছেন দস্তাবেজ-এ
সিরিল Duchon-ডরিস

8

আপনার জিকুয়ের দরকার নেই। কেবল আপনি স্ক্রিপ্ট কল করতে পারেন

window.location = '#'

"উপরে যান" বোতামে ক্লিক করুন

নমুনা ডেমো:

output.jsbin.com/fakumo#

পিএস: আপনি যখন অ্যাংুলারজগুলির মতো আধুনিক লাইব্রেরি ব্যবহার করছেন তখন এই পদ্ধতিটি ব্যবহার করবেন না। এটি ইউআরএল হ্যাশবাং ভেঙে দিতে পারে।


9
দুর্ভাগ্যক্রমে, এটি সেরা সমাধান নয় যেহেতু আপনি সেই ক্ষেত্রে পৃষ্ঠাটি স্ক্রোল করার পরিবর্তে শারীরিকভাবে অবস্থান পরিবর্তন করছেন। অবস্থানটি গুরুত্বপূর্ণ হলে এটি সমস্যার কারণ হতে পারে (কৌণিক রাউটিং বা এমন ব্যবহারের ক্ষেত্রে)
ইয়ারোস্লাভ রোগোজা

2
@ ইয়ারোস্লাভ্রোগোজা সঠিক। যদিও এটি সাধারণ ক্ষেত্রে কাজ করতে পারে , আমি এই সমাধানটি সুপারিশ করব না। অবস্থান ক্রমশ গুরুত্বপূর্ণ হয়ে উঠছে এবং একক পৃষ্ঠাগুলির অ্যাপ্লিকেশনগুলি নেভিগেশন হ্যান্ডেল করতে ব্যাপকভাবে হ্যাশ ব্যবহার করে। এর পরে হ্যাশ ভিত্তিক নেভিগেশন যুক্ত করার পরে বা এটি হ্যাশ ভিত্তিক নেভিগেশনে যুক্ত করার সময় আপনি তত্ক্ষণাত্ পার্শ্ব-প্রভাব বাগটি প্রবর্তন করবেন।
অ্যান্ড্রু গ্রোথ

8

শীর্ষে সরাসরি স্ক্রোল করার জন্য কেবল এই স্ক্রিপ্টটি ব্যবহার করুন।

<script>
$(document).ready(function(){
    $("button").click(function(){
        ($('body').scrollTop(0));
    });
});
</script>

8

খাঁটি জাভাস্ক্রিপ্ট সমাধান:

function scrollToTop() {
  window.scrollTo({
    top: 0,
    behavior: 'smooth'
});

আমি কোডেপেনে একটি অ্যানিমেটেড সমাধান লিখি

এছাড়াও, আপনি সিএসএস scroll-behavior: smoothসম্পত্তি সহ আরও একটি সমাধান চেষ্টা করতে পারেন ।

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

7

আপনি যদি মসৃণ স্ক্রোলিংটি না চান, আপনি মসৃণ স্ক্রোলিং অ্যানিমেশনটি শুরু করার সাথে সাথেই এটি প্রতারণা করতে এবং থামাতে পারেন ... যেমন:

   $(document).ready(function() {
      $("a[href='#top']").click(function() {
          $("html, body").animate({ scrollTop: 0 }, "1");              
          $('html, body').stop(true, true);

          //Anything else you want to do in the same action goes here

          return false;                              
      });
  });

এটি প্রস্তাবিত / অনুমোদিত কিনা তা আমার কোনও ধারণা নেই তবে এটি কাজ করে :)

আপনি কখন এটি ব্যবহার করবেন? আমি নিশ্চিত নই, তবে সম্ভবত আপনি যখন জ্যাকুরির সাথে একটি জিনিস অ্যানিমেট করার জন্য একটি ক্লিক ব্যবহার করতে চান, তবে অ্যানিমেশন ছাড়াই অন্যটি করতে চান? অর্থাত্ পৃষ্ঠার শীর্ষে একটি স্লাইড-ইন অ্যাডমিন লগইন প্যানেলটি খুলুন এবং তা দেখার জন্য তাত্ক্ষণিকভাবে শীর্ষে যান।


6

প্রেরণা

এই সহজ সমাধানটি দেশীয়ভাবে কাজ করে এবং যে কোনও অবস্থানে মসৃণ স্ক্রোল প্রয়োগ করে।

এটি অ্যাঙ্কর লিঙ্কগুলি (যাদের সাথে রয়েছে #) ব্যবহার করা এড়ানো যায় যা আমার মতে, আপনি যদি কোনও বিভাগে লিঙ্ক করতে চান তবে দরকারী তবে কিছু পরিস্থিতিতে এতটা স্বাচ্ছন্দ্য বোধ করবেন না, বিশেষত শীর্ষের দিকে ইশারা করার সময় যা দুটি ভিন্ন ইউআরএলকে নির্দেশ করতে পারে একই অবস্থান ( http://www.example.org এবং http://www.example.org/# )।

সমাধান

আপনি যে ট্যাগটিতে স্ক্রোল করতে চান তাতে একটি আইডি রাখুন , উদাহরণস্বরূপ আপনার প্রথম বিভাগ , যা এই প্রশ্নের উত্তর দেয়, তবে আইডিটি পৃষ্ঠার যে কোনও জায়গায় রাখা যেতে পারে।

<body>
  <section id="top">
    <!-- your content -->
  </section>
  <div id="another"><!-- more content --></div>

তারপরে একটি বোতাম হিসাবে আপনি কোনও লিঙ্ক ব্যবহার করতে পারেন, ঠিক এই জাতীয় কোড সহ অনক্লিক বৈশিষ্ট্যটি সম্পাদনা করুন ।

<a onclick="document.getElementById('top').scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' })">Click me</a>

ক্লিক করার পরে আপনি যে ট্যাগটি স্ক্রোল করতে চান document.getElementByIdতার আইডি হ'ল আর্গুমেন্ট ।


আপনাকে ধন্যবাদ! দুর্দান্ত সমাধান
হুগো স্টিভেন লেগুনা রুয়েডা

@ হুগোস্টিভেন লেগুনা রুরুদা আপনাকে স্বাগতম, আমি এটি এমডিএন-তে পেয়েছি, তাই মোজিলাকে ধন্যবাদ। এটি আশ্চর্যজনক যে কতগুলি জিনিস ইতিমধ্যে সেখানে রয়েছে, স্থানীয়ভাবে সমর্থিত। আমি ভ্যানিলা জেএস পছন্দ করি।
জিয়ানলুকা কাসাটি

5

আপনি সহজেই আপনার লিঙ্কটি থেকে একটি লক্ষ্য ব্যবহার করতে পারেন, যেমন # সোমিড, যেখানে # এসোমেডটি ডিভের আইডি।

অথবা, আপনি যে কোনও সংখ্যক স্ক্রোলিং প্লাগইন ব্যবহার করতে পারেন যা এটি আরও মার্জিত করে তোলে।

http://plugins.jquery.com/project/ScrollTo একটি উদাহরণ।


4

আপনি এই ফিডল হিসাবে জেএস ব্যবহার করার চেষ্টা করতে পারেন http://jsfiddle.net/5bNmH/1/

আপনার পৃষ্ঠা ফুটারে "উপরে যান" বোতামটি যুক্ত করুন:

<footer>
    <hr />
    <p>Just some basic footer text.</p>
    <!-- Go to top Button -->
    <a href="#" class="go-top">Go Top</a>
</footer>

4
function scrolltop() {

    var offset = 220;
    var duration = 500;

    jQuery(window).scroll(function() {
        if (jQuery(this).scrollTop() > offset) {
            jQuery('#back-to-top').fadeIn(duration);
        } else {
            jQuery('#back-to-top').fadeOut(duration);
        }
    });

    jQuery('#back-to-top').click(function(event) {
        event.preventDefault();
        jQuery('html, body').animate({scrollTop: 0}, duration);
        return false;
    });
}

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.