2013-07-08 3 views
1
내가 jQuery를 할 수있는 새로운

나는 메뉴가 온 클릭 기능을 각각의 메뉴받은 위치를 변경하려면 이 menuposition. 페이지를 새로 고친 후 메뉴 위치를 변경하는 방법은 무엇입니까?어떻게 형에게 <img src="https://i.stack.imgur.com/UOZyZ.jpg" alt="menu"></p> <p>을 다음과 같이

+4

일부 코드 게시는 어떻게됩니까? ... –

+0

시도해주십시오. 사람들이 그림을 기반으로 무료 코드를 작성한다고 기대할 수는 없습니다. – DreamWave

+0

@roasted 죄송합니다. 위치 변경시 아무 것도 시도하지 않고 클릭 기능에서 텍스트 및 배경색 만 변경하려고합니다. – Ben10

답변

2

이를 달성하는 가장 좋은 방법은

'main' 
'sub'. 

왼쪽에 넣어 CSS 스타일을 가지고와 주요의 클래스를 가진 하나의 클래스를 사용하여 요소의 스타일을하는 것입니다.

그런 다음 jQuery를 사용하여 클릭시 클래스를 전환하십시오! 클래스 이름 .sub#를 검출

$('a').click(function(){ 
    $(a).removeClass('main'); 
    $(this).addClass('main'); 
}); 
+0

열린 메뉴로 돌아갈 장소가 항상 다르므로 모든 경우에 적용되지 않습니다. 단일 클래스는 요소를 동적으로 배치 할 수 없습니다. – DreamWave

+1

@DreamWave 방금 프로토 타입을 배치하고 나머지를 찾아 냈습니다! –

+0

@InGodITrust 답장을 보내 주셔서 감사합니다. 모든 메뉴에 대해 두 개의 클래스를 만들어야합니까? – Ben10

0

예를 들어, 당신은 정규식을 사용할 수있는 .main 클래스와 교환 할

HTML :

<div class="menu main">menu 1</div> 
<div class="menu sub1">menu 2</div> 
<div class="menu sub2">menu 3</div> 
<div class="menu sub3">menu 4</div> 
<div class="menu sub4">menu 5</div> 

jQuery를 코드 :

$(function() { 
    $('div.menu').click(function() { 
     var cls = $(this).prop("class"); 
     var m = cls.match(/(?:\s*)(sub\d+)(?:\s*)/); 
     if (!m) { 
      return; 
     } 
     cls = m[1]; 
     $('div.main').removeClass('main').addClass(cls); 
     $(this).removeClass(cls).addClass('main'); 
    }); 
}); 

jsfiddle

+0

고맙습니다. 그 중 하나가 필요합니다. – Ben10

+0

위의 이미지 위치를 대체하는 방법이 좋습니다. 나를 도와 주실 수있으세요? – Ben10

+0

다음 예제와 같이 이미지를 변경할 수 있습니다. http://jsfiddle.net/hrRXH/2/ (기본 메뉴 항목의 클래스 지정도 수정 됨) – Stano

관련 문제