2013-05-02 3 views
1

클릭하면지도와 상호 작용하는 정보가 포함 된 div가 아래로 슬라이드되는 텍스트가 표시됩니다. div를 클릭 한 후 모든 슬라이드를 sldie로 슬라이드 한 다음 "hide map steps"라고 말하도록 텍스트를 변경하고 싶습니다.jquery를 사용하여 링크를 숨길 필요가 있습니다.

대부분 작동합니다. 나는 "지도 단계 숨기기"가 표시되도록 설정했습니다 : 아무 것도 없지만 모든 것을 뒤로 밀기위한 링크로 사용할 수는 없습니다.

$(".stepsLink").click(function() { 
$(".stepsLink").hide(); 
$(".stepsUpLink").show(); 
if ($(".steps").is(":hidden")) { 
    $(".steps").slideDown("fast", "linear"); 
} else { 
    $(".steps").slideUp("fast", "linear"); 
} 
}); 

stepsUpLink 자체를 표시하지만 백업 사업부를 슬라이드 클릭 할 수 없습니다 :

여기 내가 사용하고 코드입니다. http://jsfiddle.net/ltdesign/5b6XS/

어떤 도움 :

여기 내 jsfiddle 링크입니까? 고맙습니다!

답변

2

이 귀하의 첫 번째 라인을 변경 :
$(".stepsLink, .stepsUpLink").click(function() {

+0

jqueryrocks : 그 덕분에, 고마워요! –

+0

나는 또한 $ (". stepsLink")를 추가했다. \t $ (". stepsUpLink"). hide(); 쇼를 얻고 앞뒤로 움직이기 위해 숨기기. 다시 한 번 감사드립니다. –

0
$(document).ready(function(){ 
    $(".stepsLink").click(function() { 
     if ($(".steps").is(":hidden")) { 
      $(".steps").slideDown("fast", "linear", function(){ 
       $(".stepsLink").html('hide map steps <i class="icon-caret-down"></i>'); 
      }); 
     } else { 
      $(".steps").slideUp("fast", "linear", function(){ 
       $(".stepsLink").html('show map steps <i class="icon-caret-down"></i>'); 
      }); 
     }     
     }); 
}); 

Working demo

+0

이것은 포스터가 달성하고자하는 것을 달성하기위한 많은 코드입니다. 연습의 문제로서, 다른 것을 보여주기 전에 한 컨트롤을 제거하거나 숨기는 것이 더 나은 점입니다. 두 번째 블록에는 먼저 쇼가 있으며 시각적으로 겹칠 수 있습니다. 내 하체에서 나쁘다. 답변을 편집하면 제거됩니다. – Shawn

+0

일반적으로 코드를 두 배로 늘리고 불필요한 (포스터 질문에서) 라이브러리를 추가하면 유지 관리 비용이 증가하고 성능이 저하됩니다. 건배 :) – Shawn

+0

오해하지 마세요, 저는 jQueryUI를 좋아하지만 이것은 훨씬 깨끗한 접근 방법입니다. jsFiddle에서 레이블을 전환 할 때 약간의 지연이 있습니다. 함수에서 $ .html()을 이동하면 응답을 수정하고 향상시킬 수 있습니다. 두 번째 링크를 제거하는 것이 좋습니다. – Shawn

0

당신 만이 아닌 stepsUpLink 하나의 stepsLink 범위에 click 이벤트를 가지고 - 그것은 클릭 처리하지 않습니다.

0

@jqueryrocks는 좋은 접근 방식을 가지고 있습니다. 단지 약간의 조정이 필요합니다. 레이블을 한 번 클릭하면 올바르게 표시되도록 쇼 숨기기를 조건으로 이동하십시오.

$(".stepsLink, .stepsUpLink").click(function() { 

    if ($(".steps").is(":hidden")) { 
     $(".stepsLink").hide(); 
     $(".stepsUpLink").show(); 
     $(".steps").slideDown("fast", "linear"); 
    } else { 
     $(".stepsUpLink").hide(); 
     $(".stepsLink").show(); 
     $(".steps").slideUp("fast", "linear"); 
    } 
    }); 
+0

예, 이것을 추가했습니다. 모두에게 감사합니다. 맹인은 Memolition에 영향을 미쳤습니다. –

관련 문제