2011-03-20 3 views
0

두 개의 "투표"링크를 jQuery UI 아이콘으로 바꾸고 싶습니다. 하나는 위쪽 화살표가있는 아이콘이어야하는 upvote 링크이고 하나는 아래쪽 화살표가있는 아이콘이어야하는 downvote 링크입니다. 여기에 링크의 RoR에 코드 중 하나입니다jQuery 아이콘으로 연결

<%= link_to "+1", video_votes_path(:video_id => video.id, :type => "up"), :method => :post, :remote => true %> 

나는 또한 클릭하면 아이콘의 색상을 변경하려면, 그리고 다시 클릭하면, 그것은 다시 원래 색으로 변경해야합니다. 이 모든 것을 어떻게 할 수 있습니까?

+0

당신은 아이콘이 아닌 *의 jQuery를 아이콘 *을 포함 ** JQuery와 ** 버튼을 요구하고 있습니다. 애플리케이션의 다른 곳에서도 jQuery UI를 사용하고 있습니까? 몇 가지 CSS와 JS one-liner를 사용하면 매우 쉽게 얻을 수 있습니다. 특히 jQuery UI를 사용하지 않는 경우에는 jQuery UI가 조금 과장 될 수 있습니다. – polarblau

+0

다른 곳에서는 사용하고 있지 않습니다 ... 나는 CSS와 JS 예제를 받아 들일 것입니다. jQuery UI 일 필요는 없습니다. –

+0

아래의 제안 사항을 참조하십시오. – polarblau

답변

1

에만 jQuery를 통해 CSS와 JS의 터치를 사용하는 솔루션 :

이 아이콘의 스프라이트를 만들고, 서로 아래에 귀하의 화살표의 두 가지 버전 (각 색상 하나) - 예를 들어, 이 같은 :

enter image description here

클래스에게 당신의 연결 vote을주고 CSS와 jQuery를 마법의 비트를 추가 할 수 있습니다.

CSS :

// will show the upper part of the sprite by default 
a.vote { 
    display: block; 
    text-indent: -999em; 
    width: 15px;    // width of your sprite 
    height: 15px;   // half the height of your sprite 
    background: transparent url(your_sprite.png) no-repeat center top; 
} 

// will show the lower part of the sprite when toggled 
a.vote.selected { 
    background-position: center bottom; 
} 

JS :

$('a.vote').click(function(){ 
    $(this).toggleClass('selected'); 
}); 
+0

감사합니다. 당신은 어떻게 당신 자신의 스프라이트를 만드나요? 그리고 스프라이트 화살표를 버튼 안에 어떻게 넣으시겠습니까? –

+0

Photoshop과 같은 이미지 편집 소프트웨어가 필요합니다. 또는 준비된 스프라이트를 온라인으로 찾으십시오. '

+0

그래, 내 안에 스프라이트 이미지가있는 단추로 만들 수도 있고, 스프라이트 이미지를 단추로 만들 수도있다. –

관련 문제