시작페이지로 즐겨찾기추가
로그인
회원가입 l 출석체크 l 마이페이지 l CGIMALL
자료실 사이트등록 랭킹100 프로그램리뷰 관리자추천자료 초보가이드
커뮤니티
전체 펼쳐보기
퀵메뉴링크 jquery , CSS , PHP , Javascript , 무료폰트 , ASP
상세검색
> 커뮤니티 > 질문과답변 상세보기
커뮤니티 구인구직
사이트등록
현재접속자 새로고침
게시판타이틀 질문과답변 / 상세보기
트위터로 보내기 미투데이로 보내기 싸이월드 공감
추천수 408 | 조회수 2,891 | 등록일 2014-07-09 12:08:54

닉네임

반후루

이메일

4358j@naver.com

제목

스크립트 질문드려요~
내용
<script type="text/javascript">
$(document).ready(function() {
 
 var Arrays=new Array();
 
 $('.add-to-cart-button').click(function(){
  
  var thisID    = $(this).parent().parent().attr('id').replace('detail-','');
  
  var itemname  = $(this).parent().find('.item_name').html();
  var itemprice = $(this).parent().find('.price').html();
  
  if(include(Arrays,thisID))
  {
   var price   = $('#each-'+thisID).children(".shopp-price").find('em').html();
   var quantity = $('#each-'+thisID).children(".shopp-quantity").html();
   quantity = parseInt(quantity)+parseInt(1);
   
   var total = parseInt(itemprice)*parseInt(quantity);
   
   $('#each-'+thisID).children(".shopp-price").find('em').html(total);
   $('#each-'+thisID).children(".shopp-quantity").html(quantity);
   
   var prev_charges = $('.cart-total span').html();
   prev_charges = parseInt(prev_charges)-parseInt(price);
   
   prev_charges = parseInt(prev_charges)+parseInt(total);
   $('.cart-total span').html(prev_charges);
   
   $('#total-hidden-charges').val(prev_charges);
  }
  else
  {
   Arrays.push(thisID);
   
   var prev_charges = $('.cart-total span').html();
   prev_charges = parseInt(prev_charges)+parseInt(itemprice);
   
   $('.cart-total span').html(prev_charges);
   $('#total-hidden-charges').val(prev_charges);
   
   var Height = $('#cart_wrapper').height();
   $('#cart_wrapper').css({height:Height+parseInt(45)});
   
   $('#cart_wrapper .cart-info').append('<div class="shopp" id="each-'+thisID+'"><div class="label">'+itemname+'</div><div class="shopp-price"> $<em>'+itemprice+'</em></div><span class="shopp-quantity">1</span><img src="remove.png" class="remove" /><br class="all" /></div>');
   
  }
  
 }); 
 
 $('.remove').livequery('click', function() {
  
  var deduct = $(this).parent().children(".shopp-price").find('em').html();
  var prev_charges = $('.cart-total span').html();
  
  var thisID = $(this).parent().attr('id').replace('each-','');
  
  var pos = getpos(Arrays,thisID);
  Arrays.splice(pos,1,"0")
  
  prev_charges = parseInt(prev_charges)-parseInt(deduct);
  $('.cart-total span').html(prev_charges);
  $('#total-hidden-charges').val(prev_charges);
  $(this).parent().remove();
  
 }); 
 
 $('#Submit').livequery('click', function() {
  
  var totalCharge = $('#total-hidden-charges').val();
  
  $('#cart_wrapper').html('Total Charges: $'+totalCharge);
  
  return false;
  
 }); 
 
 // this is for 2nd row's li offset from top. It means how much offset you want to give them with animation
 var single_li_offset  = 200;
 var current_opened_box  = -1;
 
 $('#wrap li').click(function() {
 
  var thisID = $(this).attr('id');
  var $this  = $(this);
  
  var id = $('#wrap li').index($this);
  
  if(current_opened_box == id) // if user click a opened box li again you close the box and return back
  {
   $('#wrap .detail-view').slideUp('slow');
   return false;
  }
  $('#cart_wrapper').slideUp('slow');
  $('#wrap .detail-view').slideUp('slow');
  
  // save this id. so if user click a opened box li again you close the box.
  current_opened_box = id;
  
  var targetOffset = 0;
  
  // below conditions assumes that there are four li in one row and total rows are 4. How ever if you want to increase the rows you have to increase else-if conditions and if you want to increase li in one row, then you have to increment all value below. (if(id<=3)), if(id<=7) etc
  
  if(id<=3)
   targetOffset = 0;
  else if(id<=7)
   targetOffset = single_li_offset;
  else if(id<=11)
   targetOffset = single_li_offset*2;
  else if(id<=15)
   targetOffset = single_li_offset*3;
  
  $("html:not(:animated),body:not(:animated)").animate({scrollTop: targetOffset}, 800,function(){
   
   $('#wrap #detail-'+thisID).slideDown(500);
   return false;
  });
  
 });
 
 $('.close a').click(function() {
  
  $('#wrap .detail-view').slideUp('slow');
  
 });
 
 $('.closeCart').click(function() {
  
  $('#cart_wrapper').slideUp();
  
 });
 
 $('#show_cart').click(function() {
  
  $('#cart_wrapper').slideToggle('slow');
  
 });
 
});
function include(arr, obj) {
  for(var i=0; i<arr.length; i++) {
    if (arr[i] == obj) return true;
  }
}
function getpos(arr, obj) {
  for(var i=0; i<arr.length; i++) {
    if (arr[i] == obj) return i;
  }
}
</script>
 
 
상품을 클릭하면 상품설명이 드롭되고 다시 클릭하면 드롭되었던 박스가 닫히는거 까지는 좋은데
 
다시 같은 상품을 클릭하면 먹통이됩니다
 
(다른 상품을 클릭하고 다시 클릭하면 다시 이벤트가 실행됩니다.)
 
 return false;이쪽문구를 수정해야 하는건지요?
 
많은 가르침 부탁드려요~
추천스크랩소스보기 목록
이전게시글 이 사이트같은 마우스휠로 슬라이딩되는건 어떻게 만드나요? 2014-06-24 15:28:47
다음게시글 뉴스 솔루션 관련하여 질문드립니다. 2014-07-17 12:31:03