2011-05-11 2 views
0

슬라이드를 통해 회전하는 슬라이드가 있습니다. 회전식 슬라이드 쇼에는 그 아래에있는 콘텐츠보다 높은 z- 색인이있는 오버레이가 있습니다. 일부 슬라이드에는 링크가 포함되어 있지만 일부 슬라이드에는 링크가 포함되어 있습니다. 내 jQuery는 슬라이드 링크의 href를 가져오고 클릭 할 때 해당 href에 대한 오버레이 링크를 만듭니다. 내 문제가페이지를 새로 고치지 않고 요소의 커서를 변경할 수 있습니까?

[Slide 1: <p>] [Slide 2: <p> <a>] 

, 나는 어떤 링크가없는 경우 슬라이드가 링크를 자동으로 커서가 포함 된 경우 포인터에 커서를 변경하고 싶습니다. (슬라이드가 자동으로 이동하지 않기 때문에 사용자가 회전식 슬라이드를 가리키면 변경되지 않습니다.)

이미 오버레이가있을 때 어디에서나 오버레이가 연결되는 것을 막는 클릭 기능이 있습니다. 링크가 없지만 커서는 현재 CSS에 의해 제어됩니다. addClass을 사용해 보았지만 작동하지 않습니다.

실제로 jQuery와 CSS를 사용하여 동일한 div에서 커서를 움직일 수있는 상태를 변경할 수 있습니까?

에는 링크가없는 경우 아무것도에서 오버레이를 중지 함수의 조각 :

$('#carousel_overlay').click(function() { 
    slideLinkTarget = promoSlides.eq(activeSlideIndex).find('a').attr('href'); 
    if (!slideLinkTarget == '') {  
     window.open(slideLinkTarget); 
     ('#carousel_overlay').addClass('link'); 
    } else { 
     return false; 
     $('#carousel_overlay').removeClass('link');   
    }    
}); 

(I가 클릭 기능을 알고 내가 커서를 원하는 경우 작동하지 않습니다 호버에 대한 변경)

#carousel_overlay{cursor: auto;} 
#carousel_overlay.link{cursor: pointer;} 

건배

+0

현재 JS 코드로 포인터를 변경할 수 있습니까? –

+0

@onteria_ added – theorise

답변

2

오버레이에 호버 (hover) 스크립트를 추가하고 조건 (이 예에서! = "")이 일치하는 경우 포인터를 넘김으로 설정할 수 있습니다.

$(function() { 
    $('overlay').hover(function() { 
     // the selector should match your link 
     if ($('image').attr('href') != "") { 
     $(this).css('cursor', 'pointer'); 
     } 
    }, 
    function() { 
     $(this).css('cursor', 'default'); 
    }); 
}); 

어쩌면 사본 & 붙여 넣기이 늘 일, 당신의 HTML을 모르기 때문에.

+0

내 마음을 교차시키지 않았습니까, 얼마나 명백 했습니까, 너무 고마워요! – theorise

2

내가

,265 같은 것을 사용

그리고 나는 요소에 addclass를 사용하고 포인터를 가져온 다음 removeClass를 사용하여 제거하십시오.

상황 당신이 (당신의 CSS에서) 같은

.clickable a { cursor :pointer !important; } 

을하고 당신이 필요로하는 모든 요소에 클래스를 추가 할 jQuery를 사용하고 때 태그를 통해 포인터를 만들 수

관련 문제