도움을 주셔서 감사 드리며 멍청한 놈 이신 것을 용서해주십시오. 대답은 매우 간단합니다.Scrollnav.js 사이드 바가 활성화되지 않음
개인 사이트 "EthanGreenspan.com"에 "ScrollNav.js"이라는 JQuery 플러그인을 사용하려고합니다.
사용자가 섹션을 클릭하여 스크롤 할 수있는 대화식 목차가있는 간단한 왼쪽 창을 만들기 위해이 플러그인을 사용하고 싶습니다. JSFiddle (아래쪽 링크)에서 볼 수 있듯이 왼쪽 창의 ScrollNav 사이트처럼 작동하지 않습니다.
이것은 목차로 사용하려는 HTML입니다.
이 JQuery와입니다
<div class="leftpane" class="main" role="main">
<nav class="scroll-nav" role="navigation">
<span class="scroll-nav-heading">Sections</span>
<ol class="scroll-nav-list">
<li class="scroll-nav-item active top">
<a href="#jumpNav-0" class="scroll-nav-link">Top</a></li>
<li class="scroll-nav-item active Current Work">
<a href="#jumpNav-1" class="scroll-nav-link"></a>Current Work</li>
<li>Photography</li>
<li>Consulting</li>
<li>Blog</li>
<li>Contact Me</li>
</ol>
(나는 인라인 JSFiddle에 대한 넣어)
<script>
$('.body').scrollNav({
sections: 'h3',
titletext: 'Scroll To',
fixedmargin: 40,
animation: true,
})
</script>
마지막으로
, 여기있는 ScrollNav JQuery와 플러그인;
(function(e){e.fn.scrollNav=function(t){e("body").addClass("sn-loading");var n={sections:"h3",titleText:"Scroll To",fixedMargin:40,animated:!0,speed:500,showHeadline:!0,showTopLink:!0,location:"insertBefore"};e.extend(n,t);var r=[],i=this,s=i.find(n.sections),o=e("<nav />",{"class":"scroll-nav",role:"navigation"}),u=function(){if(n.showTopLink===!1)return;var e=i.attr("id"),t=i.offset().top;if(e)r.push({id:e,offset:t,text:"Top"});else{i.attr("id","jumpNav-0");r.push({id:"jumpNav-0",offset:t,text:"Top"})}},a=function(){s.each(function(t){var n="jumpNav-"+(t+1),i=e(this).offset().top,s=e(this).text();e(this).attr("id",n);r.push({id:n,offset:i,text:s})})},f=function(){var t=e("<span />",{"class":"scroll-nav-heading",text:n.titleText}),i=e("<ol />",{"class":"scroll-nav-list"});e.each(r,function(t){var n=t===0?e("<li />",{"class":"scroll-nav-item active"}):e("<li />",{"class":"scroll-nav-item"}),r=e("<a />",{href:"#"+this.id,"class":"scroll-nav-link",text:this.text});i.append(n.append(r))});n.showHeadline===!0?o.append(t).append(i):o.append(i)},l=function(){var t=o.offset().top;e(window).resize(function(){e.each(r,function(){this.offset=e("#"+this.id).offset().top})});e(window).scroll(function(){var i=e(window).scrollTop(),s=e(window).height()*.5;i>t-n.fixedMargin?o.addClass("fixed"):o.removeClass("fixed");e.each(r,function(){if(this.offset>i-n.fixedMargin&&this.offset<i+s){o.find("li").removeClass("active");o.find('a[href="#'+this.id+'"]').parents("li").addClass("active")}})})};if(i.length!==0){u();a();f()}i.length!==0&&s.length!==0?o[n.location](i):i.length===0?console.log("Build failed, scrollNav could not find '"+i.selector+"'"):s.length===0&&console.log("Build failed, scrollNav could not find any '"+n.sections+"'s inside of '"+i.selector+"'");l();n.animated===!0&&e(".scroll-nav-link").click(function(){var t=e(this).attr("href"),r=e(t).offset().top;e("html:not(:animated),body:not(:animated)").animate({scrollTop:r-40},n.speed);return!1});e("body").removeClass("sn-loading").addClass("sn-active")}})(jQuery);
저는 JQuery의 기초를 알고 있지만 실제로 도움이 될 수 있습니다!
내 HTML/CSS/JS와 함께 JSFiddle에 대한 링크입니다.
감사합니다.
안녕 지미! 코딩과 StackOverflow 눅으로서 ScrollNav.js의 저자로부터 메모를받는 것이 정말 좋습니다. 첫째, 정말로 멋진 플러그인을 만드는 데 축하드립니다. 위에서 언급 한 사이드 프로젝트를 시작하게 만들었습니다. 그 후 대부분의 시간이 걸리는 작업이 있지만 도움을 주셔서 감사 드리며 다시 코딩 작업을 시작할 때 조언을 구해야합니다. 다시 한 번 고마움, 주민 멍청한 놈. – EthanMax