ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුවේ ඉහළට අනුචලනය කරන්න?


1610

ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුවේ ඉහළට අනුචලනය කරන්නේ කෙසේද? අනුචලන තීරුව ක්ෂණිකව ඉහළට පැනියද එය යෝග්‍ය වේ. මම සුමට අනුචලනය සොයන්නේ නැත.


2019, වළක්වා ගැනීම සඳහා “මෙම වෙබ් අඩවිය අනුචලන සම්බන්ධිත ස්ථානගත කිරීමේ බලපෑමක් භාවිතා කරන බව පෙනේ. මෙය අසමමුහුර්ත පැනින්
කොන්ස්ටන්ටින්

Answers:


2198

ඔබට සජීවිකරණය සඳහා වෙනසක් අවශ්‍ය නොවන්නේ නම් ඔබට විශේෂ ප්ලගීන භාවිතා කිරීමට අවශ්‍ය නොවේ - මම ස්වදේශික ජාවාස්ක්‍රිප්ට් වින්ඩෝස්.ක්‍රෝල්ටෝ ක්‍රමය භාවිතා කරමි - 0,0 පසු කිරීමෙන් පිටුව ක්ෂණිකව ඉහළ වමට අනුචලනය වේ. .

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

පරාමිතීන්

  • x-coord යනු තිරස් අක්ෂය දිගේ පික්සෙල් ය.
  • y-coord යනු සිරස් අක්ෂය දිගේ පික්සෙල් ය.

178
එය මගේ අදහස විය, ඔබට සුමට අනුචලනය සජීවිකරණය කිරීමට අවශ්‍ය නැතිනම් ඔබට jQuery භාවිතා කිරීමට අවශ්‍ය නොවේ.
daniellmb

23
ජෙෆ්ගේ ප්‍රකාශය හාස්‍යජනක වන්නේ හරස් බ්‍රව්සරයේ වැඩ කිරීමට අවශ්‍ය අයට 95% ක්ම jQuery භාවිතා කළ යුතුය. දැන්වීම් කේතය මන්දගාමී වන පුස්තකාලයක ඉහළ කොටස අපට දැරිය නොහැකි නිසා මේ වන විට පිරිසිදු ජාවාස්ක්‍රිප්ට් විශාල ප්‍රමාණයක් ලිවිය යුතු අයෙකුගෙන් මෙය පැමිණේ :(
Will

11
මෙම පිළිතුරට ප්‍රශ්නයට කිසිදු සම්බන්ධයක් නැත. ප්‍රශ්නය නම් එය හොඳයි: පිටුවේ ඉහළට අනුචලනය කිරීමට මා භාවිතා කළ යුතු ස්ක්‍රිප්ට් සහ ක්‍රම මොනවාද? නිවැරදි පිළිතුර මෙහි ඇත: stackoverflow.com/questions/4147112/…
skobaljic

2
ෆයර්ෆොක්ස් 40 සහ ක්‍රෝම් 44 හි මා වෙනුවෙන් වැඩ කිරීම (මිහයිල්ගේ අදහස් දැක්වීම සඳහා)
ටෝනි

12
පිටුවේ පහළට අනුචලනය කරන්නwindow.scrollTo(0, document.body.scrollHeight);
emix

1352

ඔබට සුමට අනුචලනය අවශ්‍ය නම්, මේ වගේ දෙයක් උත්සාහ කරන්න:

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

එමඟින් ඕනෑම <a>ටැගයක් href="#top"ගෙන එය ඉහළට අනුචලනය කරයි.


+1. මම කල්පනා කරමින් සිටියේ මේ වගේ දෙයක් කරන්නේ කෙසේද සහ ගූගල් මාව මෙතැනට ගෙන යන්නේ කෙසේද යන්නයි. ප්‍රශ්නය කෙසේ වෙතත්, ලේඛනයේ “අනුචලන ටොප්” ක්‍රියාකාරිත්වය කොහිද? මම බැලූ නමුත් එය සොයාගත නොහැකි විය.
sqram

22
scrollTop ක්‍රියාකාරී නොවේ, එය කවුළු මූලද්‍රව්‍යයේ දේපලකි
ජලාල් එල්-ෂෙයාර්

1
සජීවිකරණයේ සම්පූර්ණ ඇමතුම භාවිතා කරන විට මෙය නිවැරදිව ක්‍රියා නොකරයි, මන්ද එය දෙවරක් ක්‍රියාත්මක වේ.
ඩේවිඩ් මොරාලෙස්

5
බ්‍රවුසර අනුකූලතාව සඳහා "html" සහ "බොඩි" යන දෙකම අවශ්‍ය වේ, එනම් ක්‍රෝම් v27 අනුචලනය "බොඩි" සහ IE8 අවශ්‍ය නොවේ. IE8 අනුචලනය "html" සමඟ ඇති නමුත් Chrome v27 එසේ නොවේ.
සුෂිගු

1
aljalchr ඇත්ත වශයෙන්ම, window.pageYOffsetකවුළුව e̶l̶e̶m̶e̶n̶t̶ වස්තුවේ දේපල වේ.
ඇලෙක්ස් ඩබ්ලිව්

176

ඉහළට අනුචලනය කිරීමට මෙය උත්සාහ කරන්න

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

මෙය සමාන ය: if (ඉතිහාසයේ 'scrollRestoration') {history.scrollRestoration = 'manual'; }
වාසිලී සූරිකොව්

125

සුමට සජීවිකරණය සමඟ වඩා හොඳ විසඳුම:

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

යොමුව: https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo#Example


ScrollOptions(සමහර බ්‍රව්සර් සඳහා) සඳහා ඔබට තවමත් පොලිෆිල් සහාය අවශ්‍ය විය හැකිය : github.com/iamdustan/smoothscroll
jneuendorf

මම මේ විසඳුමට ගොඩක් කැමතියි.
සුපර් මෑන්

යමෙකුට මෙය සෆාරි හෝ ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් මගින් පරීක්ෂා කර බලා එය හොඳින් ක්‍රියාත්මක වේදැයි බැලීමට හැකිද? ස්තූතියි
ෆේබියෝ මාගරෙලි

1
Ab ෆැබියෝ මාගරෙලි සෆාරි හි වැඩ කරන දඩය, අයිඊ මත පරීක්ෂා කර නැත. සෆාරි හි එය පරීක්ෂා කිරීම සඳහා FYI, ඉහත කේතය සංවර්ධක මෙවලම් -> කොන්සෝලය තුළ අනුචලනය කර පිටපත් කර ඇති ඕනෑම පිටුවක් විවෘත කර එය ඉහළ සත්‍යාපනය වෙත අනුචලනය කරනු ඇත (සෆාරි අනුවාදය 13.0.5).
ගනේෂ් ගලමේ

104

මෙය කිරීමට ඔබට jQuery අවශ්‍ය නොවේ. සම්මත HTML ටැගයක් ප්‍රමාණවත් වේ ...

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

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

13
+1 ඔබට ඉහළට නොව නිශ්චිත මූලද්‍රව්‍යයකට සැරිසැරීමට අවශ්‍ය නම් මෙය හොඳයි.
ඊෂ්

39
පිටුවේ ඉහළට පනින්න '<a href="#"> ඉහළට </a>' භාවිතා කරන්න.
බකනෙකොබ්‍රේන්

3
SPA සමඟ ගනුදෙනු කිරීමේදී යා හැකි හොඳම ක්‍රමය මෙය බව පෙනේ
Phil

හොඳයි! එය සුමට අනුචලනය කිරීමට ක්‍රමයක් තිබේද?
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));
    }
})();

33
<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 දක්වා තක්සේරු කරනු ඇත.
ජැක් වියාල්

ඔව් ack ජැක්, ඔබට පුළුවන්.
කමලේෂ්

30

ඇත්තෙන්ම අමුතුයි: මෙම ප්‍රශ්නය දැන් වසර පහක් තිස්සේ ක්‍රියාත්මක වන අතර අනුචලනය සජීවිකරණය කිරීම සඳහා තවමත් වැනිලා ජාවාස්ක්‍රිප්ට් පිළිතුරක් නොමැත… එබැවින් මෙන්න ඔබ යන්න:

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-scroll


6
ප්‍රශ්නය පැහැදිලිවම jQuery විසඳුමක් ඉල්ලා සිටියද. එසේ අමුතු නෑ
විල්

3
මට හොඳම විසඳුම. ප්ලගීන නැත, විශාල jquery පුස්තකාලයක් නැත සරල javascript. කුඩෝස්
පරිශීලක 2840467

1
මචං, මමත් අවුරුදු 5 කට පසු මේ එකම ලොජික් එක්ස්ඩී නිර්මාණය කළා, හරියටම එකම තර්කනය, අගයන් පමණක් වෙනස් වේ, කාල පරතරය සහ අප අඩු කිරීමට භාවිතා කරන පූර්ණ සංඛ්‍යාවට එක්ස්ඩී විශ්වාස කළ නොහැක. ටී.බී.එච්., පිළිතුරු දීමට මෙහි පැමිණ ඇති නමුත් එය දැනටමත් ඔබගේ පිළිතුර ඉහළ නංවා ඇත.
ජර්මා වින්ස්මෝක්

29
<script>

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

html වලින්

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

27

ඔබට සුමට අනුචලනය කිරීමට අවශ්‍ය නම්, කරුණාකර මෙය උත්සාහ කරන්න:

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

තවත් විසඳුමක් වන්නේ JavaScript window.scrollTo ක්‍රමය:

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

පරාමිතීන්:

  • x- අගය යනු තිරස් අක්ෂය දිගේ පික්සෙල් ය.
  • y- අගය යනු සිරස් අක්ෂය දිගේ පික්සෙල් ය.

7
copycat ... පරිශීලකයින්ගේ පිළිතුරු බලන්න ... මෙය ඉහළම පිළිතුරු 2 සම්පාදනය කිරීම පමණි ....
ලෝරන්ට් බී

එය ස්ටක් ඕවර් ප්‍රවාහය භාවිතා කිරීමට නීත්‍යානුකූල ක්‍රමයකි - එය එක තැනක තබා ගැනීම වඩාත් ප්‍රායෝගිකයි. එක් අවස්ථාවකදී ස්ටැක් ඕවර් ප්‍රවාහය ක්‍රියා කළ යුතු ආකාරය පිළිබඳ උදාහරණයක් ලෙස ජොයෙල් ස්පොල්ස්කි පවත්නා පිළිතුරු නැවත භාවිතා කළේය. ඔබ කැමති නම් මට බ්ලොග් සටහන උත්සාහ කර සොයා ගත හැකිය
එඩ්ගර් එච්

ඔබේ පළමු විසඳුමට jQuery අවශ්‍ය බව සඳහන් කළ යුතුය.
bot19

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 ම පරීක්‍ෂා කර ඇති අතර එය ක්‍රියාත්මක වන්නේ
මම බ්ලූප්රින්ට් සීඑස්එස් භාවිතා කරමිනි
. මෙය සේවාදායකයා "දැන් වෙන්කරවා ගන්න" බොත්තම ක්ලික් කර කුලී කාලය තෝරාගෙන නොමැති විට, සෙමින් දින දර්ශන පවතින ස්ථානයට ඉහළට ගොස් සංවාද අංශයක් විවෘත කරයි ක්ෂේත්ර 2, 3sec පසු එය මැකී යයි


ඔබට html සහ ශරීරය යන දෙකම ඉලක්ක කළ යුතු බව පෙන්වා දීමට ස්තූතියි. මම එය කළේ html සඳහා පමණක් වන අතර එය Chrome හි ක්‍රියා නොකරන්නේ මන්දැයි කල්පනා කළෙමි.
ජැරඩ්

ශරීර සජීවිකරණය සෆාරි හි ක්‍රියාත්මක වේ, එබැවින් මම ඔබේ පිළිතුර ඒ අනුව යාවත්කාලීන කරමි.
ඩේව් ඩුප්ලැන්ටිස්

46
" බ්‍රව්සර් 3 ම පරීක්ෂා කර තිබේද"? මිඩෝරි, ලුආකිට් සහ කොන්කොරර්, හරිද? : p
ඇන්කෝ

14
පේළි දෙකක් එකතු කරනවා වෙනුවට $ ('html', 'body') පමණක් නොකරන්න. සජීවීකරණය කරන්න ({scrollTop: 0})?
මැට් ස්මිත්

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";

FF, IE සහ Chrome වල හොඳින් ක්‍රියා කරයි


හොඳයි! එය සුමට අනුචලනය කිරීමට ක්‍රමයක් තිබේද?
stallingOne

ඔබ සංචලනය පදනම් කරගත් විසඳුම් වලින් වැළකී සිටිය යුතුය, ශ්‍රීරාමජියම්ගේ පිළිතුර පිළිබඳ අදහස් බලන්න.
ඇන්ඩ rew ග්‍රෝත්

15

JQuery නොවන විසඳුම / පිරිසිදු ජාවාස්ක්‍රිප්ට්:

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


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
මෙම කේතය ප්‍රශ්නයට පිළිතුරු දිය හැකි අතර, එය ගැටළුව විසඳන්නේ කෙසේද සහ ඇයි යන්න පිළිබඳ තොරතුරු සැපයීම එහි දිගුකාලීන වටිනාකම වැඩි දියුණු කරයි
L_J

ඔබේ පිළිතුර පැහැදිලි කරන්න!
උලස් හුන්කා

වෙබ් පිටුවක ඕනෑම පරිශීලකයෙක් අනුචලන ඉහළ බොත්තම ක්ලික් කර පසුව පිටුව සජීවිකරණය සමඟ ඉහළට අනුචලනය කරයි.
අරවින්ද කුමාර්

Jquery අනුචලනය () වෙනුවට සජීවීකරණය කරන්නේ ඇයි?
අකින් හ්වාන්


14

$(document).scrollTop(0); එසේම ක්‍රියාත්මක වේ.


2
ඔබ ෆයර්ෆොක්ස් භාවිතා නොකරන විට මෙය ක්‍රියාත්මක නොවන බව සලකන්න. එක් තර්කයක් පමණක් ලබා දීමේදී ඔබට දෝෂයක් ඇතිවේ (දෝෂය: ප්‍රමාණවත් තර්ක නොමැත [nsIDOMWindow.scrollTo]).
හස්කි

10

මෙම කේතය උත්සාහ කරන්න:

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

div => ඔබට අනුචලනය කිරීමට අවශ්‍ය තැන Dom Element.

time => මිලි තත්පර, අනුචලන වේගය අර්ථ දක්වන්න.


9

පිරිසිදු ජාවාස්ක්‍රිප්ට් විසඳුම:

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

මම සජීවීකරණ විසඳුමක් ලියමි කෝඩපන් ලියමි

එසේම, ඔබට CSS scroll-behavior: smoothදේපල සමඟ තවත් විසඳුමක් උත්සාහ කළ හැකිය .

html {
    scroll-behavior: smooth;
}

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


8

ඔබට JQuery අවශ්‍ය නොවේ. ඔබට ස්ක්‍රිප්ට් එක ඇමතිය හැකිය

window.location = '#'

"ඉහළට යන්න" බොත්තම ක්ලික් කරන්න

නියැදි නිරූපණය:

output.jsbin.com/fakumo#

PS: ඔබ angularjs වැනි නවීන පුස්තකාල භාවිතා කරන විට මෙම ප්‍රවේශය භාවිතා නොකරන්න. එය URL හැෂ්බෑන්ග් බිඳ දැමිය හැකිය.


10
අවාසනාවකට මෙන්, ඔබ පිටුව අනුචලනය කරනවා වෙනුවට භෞතිකව එම ස්ථානය වෙනස් කරන බැවින් එය හොඳම විසඳුම නොවේ. ස්ථානය වැදගත් නම් එය ගැටළු ඇති කළ හැකිය (කෝණික මාර්ගගත කිරීම හෝ එසේ නම්)
යාරොස්ලාව් රොගෝසා

3
AyaroslavRogoza නිවැරදිය. එය සරල අවස්ථාවන්හිදී ක්‍රියාත්මක විය හැකි නමුත් , මම මෙම විසඳුම නිර්දේශ නොකරමි. ස්ථානය වඩ වඩාත් වැදගත් වෙමින් පවතින අතර තනි පිටු යෙදුම් සංචලනය හැසිරවීමට පුළුල් ලෙස හැෂ් භාවිතා කරයි. මෙයින් පසු හෝෂ් මත පදනම් වූ සංචාලනයක් හෝ හැෂ් මත පදනම් වූ සංචාලනයට එක් කරන විට ඔබ වහාම අතුරු ආබාධ දෝෂයක් හඳුන්වා දෙනු ඇත.
ඇන්ඩ rew ග්‍රෝත්

8

ඉහළට කෙළින්ම අනුචලනය කිරීම සඳහා මෙම ස්ක්‍රිප්ට් භාවිතා කරන්න.

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

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;                              
      });
  });

එය නිර්දේශ කර තිබේද / අවසර තිබේද යන්න මා දන්නේ නැත, නමුත් එය ක්‍රියාත්මක වේ :)

ඔබ මෙය භාවිතා කරන්නේ කවදාද? මට විශ්වාස නැත, නමුත් සමහර විට ඔබට Jquery සමඟ එක් දෙයක් සජීවිකරණය කිරීමට එක් ක්ලික් කිරීමක් භාවිතා කිරීමට අවශ්‍ය වූ විට, නමුත් සජීවිකරණයකින් තොරව තවත් දෙයක් කරන්න? එනම් පිටුවේ ඉහළින් ඇති විනිවිදක පරිපාලක පිවිසුම් පැනලයක් විවෘත කර එය බැලීමට ක්ෂණිකව ඉහළට පනින්න.


7

අභිප්රේරණය

මෙම සරල විසඳුම දේශීයව ක්‍රියාත්මක වන අතර ඕනෑම ස්ථානයකට සුමට අනුචරණයක් ක්‍රියාත්මක කරයි.

එය #කොටසකට සම්බන්ධ වීමට අවශ්‍ය නම් ප්‍රයෝජනවත් වන නමුත් සමහර අවස්ථාවල එතරම් පහසු නොවන බව නැංගුරම් සබැඳි (ඇති අය ) භාවිතා කිරීමෙන් එය වළක්වයි , විශේෂයෙන් ඉහළට යොමු කරන විට විවිධ URL දෙකක් වෙත යොමු විය හැකිය එකම ස්ථානය ( 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

ඔබට #someid වැනි ඔබේ සබැඳියෙන් ඉලක්කයක් භාවිතා කළ හැකිය, එහිදී #someid යනු div හි හැඳුනුම්පතයි.

නැතහොත්, මෙය වඩාත් අලංකාර කරන ඕනෑම අනුචලන ප්ලගීන භාවිතා කළ හැකිය.

http://plugins.jquery.com/project/ScrollTo නිදසුනකි.


4

මෙම ෆෙඩෙල් හි මෙන් ඔබට JS භාවිතා කිරීමට උත්සාහ කළ හැකිය 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;
    });
}

4

ඉහත පිළිතුරු කිසිවක් ෂෙයාර්පොයින්ට් 2016 හි ක්‍රියාත්මක නොවේ.

එය මේ ආකාරයට කළ යුතුය: /sharepoint/195870/

var w = document.getElementById("s4-workspace");
w.scrollTop = 0;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.