현재 Joomla 기반 웹 사이트를 새로 개발 중입니다. 제작 과정에서 두통을 일으키는 문제가 발생했습니다 :자바 스크립트에서 변수 값을 기반으로 페이지를 다시로드 한 후 클래스 할당
사용자가 세 개의 링크 중 하나를 클릭하면 3 개의 모듈을 사용 또는 사용 중지해야합니다. 이론 상으로는 고유 한 ID가있는 세 개의 링크를 작성하고 자바 스크립트 코드의 짧은 코드를 작성한 다음 마지막으로 변수 값을 로컬 저장 영역에 저장하여 저장하므로 페이지를 다시로드 한 후에 선택한 옵션이 표시됩니다.
이것은 내가 지금까지 만든 것입니다 :
이HTML :
<div class="wahl">
<ul style="list-style-type: none;">
<li><a id="no1" href="#">Option 1</a></li>
<li><a id="no2" href="#">Option 2</a></li>
<li><a id="no3" href="#">Option 3</a></li>
</div>
자바 스크립트 :
<script type="text/javascript">
var clickedclass = 0
clickedclass = localStorage.getItem(classvar)
jQuery(document).ready(function(){
jQuery('#no1').click(function() {
localStorage.setItem(classvar, 1);
});
});
if (clickedclass == 0)
{ document.write ("Variable is 0") }
else if (clickedclass == 1)
{
jQuery('#no1').addClass('active');
document.write ("Variable is 1")
}
else if (clickedclass == 2)
{ document.write ("Variable is 2") }
else if (clickedclass == 3)
{ document.write ("Variable is 3") }
</script>
문 자체가 작동/다른 경우 경우, 내가 전에이 테스트. 변수의 값을 변경해도 작동하지 않으므로 변경 사항을 로컬 저장 영역에 저장하지 않아도됩니다. 모두 모두 jQuery 문이 작동하지 않는 것 같습니다. Joomla는 달러 기호로 jQuery 명령을 인식하지 않기 때문에 달러 기호 대신 "jQuery"를 사용하고 있습니다. 내 코드의 실수는 무엇입니까?
미리 도움 주셔서 감사합니다.
변수를 변경할 수 없으며 페이지를 다시로드 할 때 쿠키 또는 로컬 저장소를 사용하는 경우를 제외하고 변수가 새 값일 것으로 예상하고 코드에서 그와 같은 것을 볼 수 없습니다. –
var clickedclass = 1 '클릭 핸들러는 선언 한 첫 번째 변수와 다른 변수를 만듭니다. 범위와 클로저에 대한 자바 스크립트를 읽어보십시오. – charlietfl
BojanPetkovski : localStorage 부분을 추가했습니다. 사실 jQuery가 실행 중이면 실제로 작동해야합니다. charlietfl : thx, 그 중 하나를 완전히 놓쳤습니다! –