펼치기/접기 스크립트 봐 주세요.

펼치기/접기 스크립트 봐 주세요.

QA

펼치기/접기 스크립트 봐 주세요.

본문

펼치기/접기를 넣으려고

그누에서 검색을 통해 다음 소스를 얻었습니다.

 


<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js' type='text/javascript'></script>
<style type="text/css">
.UpDown { 
  padding-bottom: 10px;
}
.UpDown .title { 
  position: relative;
  cursor: pointer; 
  background-color: #f3f3f3; 
  border: solid 1px #e7e7e7; 
  padding: 9px 7px 6px 30px;  
  font-family: 굴림; 
  font-size: 9pt; 
}
.UpDown .title .arrow { 
  position: absolute;
  top: 4px; left: 3px; 
  background-color: #fff;  
  border: 1px solid #e7e7e7; 
  height: 14px; 
  width: 20px; 
  color: #b0b0b0; 
  font-size: 7pt; 
  text-align: center; 
  padding-top: 6px; 
  border-radius: 10px;
}
.UpDown .content { 
  display: block; 
  font-family: 굴림; 
  font-size: 9pt; 
  padding: 5px; 
} 
</style>
 
<script type="text/javascript">
$(document).ready(function() {
    $(".title").click(function(){
		var self = $(this);
		var arrow = self.find('.arrow');
		if(self.next().css("display") == "none"){
			self.next().slideDown();
			arrow.text("▶");
		} else {
			self.next().slideUp();
			arrow.text("▼");
		}
	});
 
});
</script>

 

아래는 펼치기/접기가 실행되는 곳입니다.

 


<div class="UpDown">
	<div class="title"><div class="arrow">▼펼치기 타이틀
	<input type="checkbox" name="agree" id="agree" required class="">
	</div>
	<div class="content">
	펼치기 내용입니다.
    </div>
</div>

 

현재는 페이지에 들어왔을 때 '펼치기'로 설정되어 있는 상태인데,

이것을 '접기' 상태로 바꾸고 싶습니다.

 

위 스크립트에서

SlideDown 과 SlideUp 위치를 바꾼다고 되는 문제가 아니더군요ㅜㅜ

 

어떻게 바꿔야 할 지 도움 주시면 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 3

아래와 같이 구현해 봤습니다.

실제로 작동하는 코드입니다.

수정해서 사용하시면 됩니다.

 

<html>

<head>

 

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js' type='text/javascript'></script>

 

<style type="text/css">

.slideDownbox, .slideUpbox, .slideTogglebox{

float:left;

padding:8px;

margin:16px;

border:1px solid red;

width:200px;

height:50px;

background-color:#000000;

color:white;

}

.clear{

clear:both;

}

</style>

 

</head>

 

<body>

 

<div class="clear">

<button id=slideToggle>▼펼치기 타이틀</button>

<br/>

<div class="slideTogglebox" style="display:none;">

펼치기 내용입니다.

</div>

</div>

 

 

<script type="text/javascript">

$("#slideToggle").click(function () {

$(".slideTogglebox").slideToggle("slow",showstate);

});

 

function showstate(){

if($(this).attr('style')==="display: none;"){

$("#slideToggle").text('▶펼치기 타이틀');

} else {

$("#slideToggle").text('▼펼치기 타이틀');

}

}

</script>

 

</body>

</html> 

아래와 같이 바꾸어 줘보세요...

 

if(self.next().css("display") == "none"){

self.next().slideDown();

        arrow.text("▶");

} else {

self.next().slideUp();

arrow.text("▼");

 

===> 

 

if(self.next().css("display") == "none"){

self.next().slideUp();

arrow.text("▼"); 

} else {

self.next().slideDown();

      arrow.text("▶");

 

많은 도움이 됐다니 기뻐요~~~

답변을 작성하시기 전에 로그인 해주세요.
전체 30
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT