"jQuery"닻점 링크에서class를 대상 닻점 요소에 추가하고 강조 표시합니다
5060 단어 jQueryJavaScript
이미지 표시
다음 페이지에 링크된 경우
▼ 이것은 정상적으로 표시되는 상황입니다.
▶ 닻사슬로 비행하는 경우입니다.
강조 표시에 class를 추가하여 앵커 포인트 부분을 강조 표시합니다.
자꾸 기억나세요?
코드는 다음과 같습니다.
jQuery를 사용하기 때문에 미리 헤드에 읽어주세요.
<head>
<!-- 例 -->
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
HTML링크된 페이지 (앵커 포인트 포함) 의 코드 예제입니다.
<div>
ゆく河の流れは絶えずして、しかももとの水にあらず。淀みに浮かぶうたかたは、かつ消えかつ結びて、久しくとどまりたるためしなし。世の中にある人とすみかと、またかくのごとし。
</div>
<div id="hoge">
祇園精舎の鐘の声、諸行無常の響きあり。沙羅双樹の花の色、盛者必衰の理をあらはす。おごれる人も久しからず。ただ春の夜の夢のごとし。たけき者も遂にはほろびぬ、ひとへに風の前の塵に同じ。
</div>
<div>
雨にも負けず<br>風にも負けず<br>雪にも夏の暑さにも負けぬ
</div>
이 페이지의 #hoge 섹션에 연결합니다.이 페이지에서 다음 스크립트를 가져오고active라는 클래스 이름을 부여하십시오.
※ 링크 소스가 아니라 링크 대상 페이지입니다.
또한 고정된 링크라면 창의 맨 위에 #hoge가 나타나기 때문에 맨 위에 공백을 살짝 넣어 적합하지 않게 합니다.
JavaScript
$(document).ready(function(){
//▼ページ全体をフェードで表示させています。不要な場合は以下の二行は削除してください。
$('body').hide();
$('body').fadeIn('fast');
//▲ここまでフェードの処理
var anchor = $(location).attr('hash'); //アンカー名を取得
var point = $(anchor).offset().top; //要素の位置を取得
var position = point - 100; //余白
//要素の位置(+余白)までスクロール
$('html,body').animate({
scrollTop : position
}, 400);
//ハイライトするためのclass名を付与
$(anchor).addClass('active');
});
CSS하이라이터 스타일을 좋아해요.
/* ハイライトさせるclass名 */
.active {
background-color: #ffffcc;
box-shadow:0 0 0 3px red;
}
여기서 마치겠습니다.링크로 날아갈 때 페이지의 중간을 표시하려면 어디를 봐야 합니까?가끔 이런 곤혹스러움이 있기 때문에 이런 처리가 편할 것 같습니다.
같은 페이지에 있는 닻 링크도 같은 스크립트로 대응할 수 있을까요?
Reference
이 문제에 관하여("jQuery"닻점 링크에서class를 대상 닻점 요소에 추가하고 강조 표시합니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noqua/items/6ea78dc7e7a7cf51ec99텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)