이 코드는 ID 'links'를 사용하여 ul의 중간에있는 클릭 된 앵커 태그에서 ID를 얻은 다음 해당 ID를 사용한다고 가정합니다. 페이지를 가로 질러 다른 목적을 위해, 그러나 나는 그 요소에 id가없는 것처럼 내가 계속 '정의되지 않은'상태를 유지한다는 경고를 보았습니다. 나는 내 소스 코드를 두 번 확인하고 실제로 ID를 가지고 있으므로 문제가 무엇인지 잘 모르겠습니다.이 Jquery 함수를 수정하고 Javascript가 비활성화 된 경우 대체물을 알아내는 데 도움이됩니다.
$(function() {
$('ul#links > li > a').click(function() {
var planet = $(this).id;
alert(planet);
$('#planet').removeClass();
$('#planet').addClass('planet');
var bg = 'black url(../img/' + planet + '.jpg) fixed no-repeat center';
alert(bg);
$('body').css('background', bg);
});
});
또한이 Jquery 기능은 이러한 상황을 처리하는 Javascript 방식으로 사용됩니다. 이미 쿠키를 설정하고 이전 페이지로 사용자를 반환 한 다음 쿠키를 사용하여 새 CSS를로드하는 빠른 스크립트로 리디렉션되는 PHP 솔루션을 구현했습니다. JS가 비활성화 된 경우 JS 메서드에 대한 백업으로 해당 메서드를 사용할 수있는 방법이 있습니까?
페이지 - http://schnell.dreamhosters.com/folio/
모두의 수정 사항은 올바른 ID를 얻기 위해 작동합니다. 이제 문제는 올바른 ID를 얻고 addClass를 수행하거나 CSS의 바디 배경을 변경 한 후에도 아무 것도 변경되지 않는다는 것입니다. 그건 그렇고, 마지막에는 'return false'입니다. 이것은이 함수가 실패하면 (JS가 꺼져 있음을 의미), 링크가 href 속성을 기본값으로하고 따르는 것을 의미합니까? –
수정 된 CSS는 CSS 파일의 위치가 아닌 HTML 페이지의 이미지 상대 경로가 있어야 할 수 있습니까? 404 오류에 대한 웹 서버 또는 웹 서버 로그에서 응답을 확인하십시오. –
당신은 길가에 대해 옳았습니다. 그것은 해결되었습니다. 하지만 지금은 내 다른 문제는 addClass() 함수가 작동하지 않는 것입니다. 내 CSS 시트에는 .earth {color : # 2020FF;}, .neptune {color : # 4169E1;}, .moon {color : # E4E4E4}과 같은 클래스가 있습니다. 그 (것)들을 추가하거나 제거하기의 점은 간단하게 센터 심상의 가까이에 div 상자에있는 원본의 색깔을 바꾸기위한 것이다. –