JavaScript 스킨 케 어 기능 구현
기본 원 리 는 간단 하 다.JS 를 사용 하여 대응 하 는 CSS 스타일 시트 파일 을 전환 하 는 것 이다.예 를 들 어 네 비게 이 션 사이트 Hao 123 의 오른쪽 위 에 홈 페이지 스킨 케 어 기능 이 있다.CSS 스타일 시트 파일 을 전환 하 는 것 외 에 도 일반적인 웹 스킨 케 어 는 쿠키 를 통 해 사용자 가 이전에 바 꾼 피 부 를 기록 해 야 다음 사용자 가 방문 할 때 마지막 사용자 설정 옵션 을 자동 으로 사용 할 수 있다.그러면 기본 적 인 작업 절차 가 나 옵 니 다.웹 페이지 를 방문 하 십시오.JS 에서 쿠키 를 읽 습 니 다.없 으 면 기본 피 부 를 사용 합 니 다.있 으 면 지 정 된 피 부 를 사용 합 니 다.사용 자 는 스킨 교환 옵션 인 JS 제어 교체 에 대응 하 는 CSS 스타일 시트 를 클릭 하여 스킨 옵션 을 Cookie 에 기록 하여 저장 합 니 다.
2.사전에 필요 한 준비 작업
1.서로 다른 피 부 는 서로 다른 css 파일 에 대응 하고 css 스타일 파일 을 여러 세트 준비 합 니 다.
파란색 대응:skinColourblue.css
노란색 대응:skinColouryellow.css
2.그림 은 서로 다른 피부 폴 더 에 저 장 됩 니 다.
예 를 들 어 파란색 대응:blue 폴 더;노란색 대응:yellow 폴 더.
서로 다른 피부 색 의 그림 을 해당 하 는 폴 더 에 넣 고 그림 전환 원리:스킨 전환 함수 에 img 태그 의 src 경로 속성 을 설정 하여 그림 을 전환 합 니 다.
3.피부 교환 이 실현 되 는 과정
1.웹 페이지 시작 에 css 파일 도입
<link href="Content/aps/skinNone.css" rel="external nofollow" rel="stylesheet" type="text/css" id="skinColour" />
2,페이지 에 피부 전환 버튼 2 개 정의
<span class="skin-btn-blue" onclick="changeSyle('blue');" > </span>
<span class="skin-btn-yellow" onclick="changeSyle('yellow');" > </span>
3.js 코드 에서 함수 트리거 를 통 해탭 을 전환 하 는 css 경로 와 그림 의 경 로 를 통 해 피 부 를 바 꿉 니 다.
// css <link>
var cssStyle = document.getElementById('skinColour');
//
function changeSyle(name) {
event.stopPropagation();
cssStyle.href = "Content/aps/skinColour_" + name + ".css";
//
setStorage("skinName", name);
//
$('.home-bReturn').attr('src', 'img/' + name + '/home_yzl_8.png');
$('.home-bHome').attr('src', 'img/' + name + '/home_yzl_7.png');
}
//html5
function setStorage(sname, vul) {
window.localStorage.setItem(sname, vul);
}
function getStorage(attr) {
var str = window.localStorage.getItem(attr);
return str;
}
// ,
var cssName = getStorage("skinName");
// , ,
if (cssName && cssName != null) {
cssStyle.href = "Content/aps/skinColour_" + cssName + ".css";
//
$('.home-bReturn').attr('src', 'img/' + cssName + '/home_yzl_8.png');
$('.home-bHome').attr('src', 'img/' + cssName + '/home_yzl_7.png');
}else{
// blue
cssStyle.href = "Content/aps/skinColour_blue.css";
//
$('.home-bReturn').attr('src', 'img/blue/home_yzl_8.png');
$('.home-bHome').attr('src', 'img/blue/home_yzl_7.png');
}
넷 째,피부 교환 에 직면 한 문 제 를 정리한다.1.js 동적 으로 생 성 된 태그 스킨 바 꾸 기,예 를 들 어 jq 는 문자열 을 통 해 페이지 에 추 가 된 img 이미지 태그
1)로 컬 저장 소 를 통 해 피부 이름 함 수 를 가 져 와 피부 이름 값 을 가 져 와 이 값 이 있 는 지 여 부 를 판단 하고 있 으 면 피부 이름 을 가 져 오고 값 을 가 져 오지 않 으 면 기본 블 루 블 루
//html5
var cssName2 = getStorage("skinName");
// ,
var imgSrcCinema;
if (cssName2 && cssName2 != null) {
imgSrcCinema = cssName2;
} else {
imgSrcCinema = 'blue';
};
2)js 동적 으로 생 성 된 곳 에서 쓰기:문자열 연결,+변 수 를 통 해 구현
var liImg = '<div class="film-vidctn3"><img class="videoimg" src="../../img/' + imgSrcCinema + '/cinema-yzl_09.png"></div>';
$("." + pos).html(liImg);
2,버튼 을 누 르 면 변색 효과 로 피부 변신:서로 다른 css 파일 에서 같은 이름 의 class 를 정의 할 수 있 으 며,스타일 은 피부 에 따라 각각 작성 할 수 있 습 니 다.
예 를 들 어 파란색 피부 스킨 Colourblue.css
/*js */
.zhleftclick{
background-color: rgba(0, 201, 212, 0.5) !important;
}
노 란 피부 에 스킨 컬러yellow.css
/*1,js */
.zhleftclick{
background-color: #43490f !important;
}
js 에 클 라 스 를 추가 하면 피부 에 따라 클릭 효 과 를 해결 할 수 있 습 니 다.원 리 는 피부 상태 에 따라 인 용 된 피부 css 파일 이 다 르 기 때 문 입 니 다.
$('.icon01').off('mousedown touchstart').on('mousedown touchstart', function () {
$('.icon01').removeClass('zhleftclick').addClass('zhleftclick');
})
3,다른 클릭 변색 효과 스킨 케 어:먼저 로 컬 저장 소 를 통 해 피부 이름 을 얻 고 색상 변 수 를 정의 하여 서로 다른 피부 이름 을 판단 하여 변수의 내용 을 바 꾸 어 서로 다른 피부 에서 의 클릭 효 과 를 얻 습 니 다.
//html5
var cssName2 = getStorage("skinName");
//
var colorBright; //
if (cssName2 && cssName2 != null) {
if (cssName2 == "blue") {
colorBright = "rgb(226, 109, 73)";
} else if (cssName2 == "yellow") {
colorBright = "#acbf04";
} else if (cssName2 == "red") {
}
} else {
// , blue
colorBright = "rgb(226, 109, 73)";
};
$("#ul input:eq(0)").attr("data-num", "1").css({ background: "" + colorBright + "" });
총결산위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 자 바스 크 립 트 의 스킨 케 어 기능 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.