업데이트잘못된 상태
var text = $('a.loveit strong');
jQuery (function ($) {
var loved = false;
$('a.loveit').bind('click',function(event){
event.preventDefault();
loved = !loved;
// toggles clicked state so false becomes true.
if(!loved){
originalLove();
}
else{
changeLove();
}
});
});
function originalLove(){
text.transition({opacity: 0, scale: 0}, 100, 'easeOutBack', function() {
$(".icn-heart").toggle();
// console.log('LOVE');
text.html("LOVE");
text.css({
color : '#fff',
position : 'relative',
left : '0'
});
text.transition({opacity: 1, scale:1}, 500, 'easeOutBack');
});
}
function changeLove(){
text.transition({opacity: 0, scale: 0}, 100, 'easeOutBack', function() {
$(".icn-heart").toggle();
// console.log('LOVED');
text.html("LOVED!");
text.css({
color : '#2b7878',
position : 'relative',
left : '-11px'
});
text.transition({opacity: 1, scale:1}, 500, 'easeOutBack');
});
}
상태는 진실과 거짓이 있어야합니다. 기본 "마음 사랑"(흰색)을 클릭하면 파란색 텍스트 "사랑"으로 바뀝니다. 그 반대입니다. 하지만 텍스트를 서로 바꿀 때 둘 다 작동하지 못했습니다.
BTW, 나는 Grails의
에서 HTML과 easeoutback업데이트에 대한 사랑/사랑의 체류를 올바른 번호로 지속 할 수 없습니다
<g:set var="personal" bean="personalService" /> <g:if test="${personal.lovedThis(portfolio.id, session.userId)}"> <div class="love-text"> <strong style="opacity: 1; transform: scale(1, 1); color: rgb(43, 120, 120); position: relative; left: -11px;">LOVED!</strong> </g:if> <g:else> <i class="icn-heart"></i> <div class="love-text"> <strong style="opacity: 1; transform: scale(1, 1); color: rgb(255,255,255); position: relative; left: 0;">LOVE</strong> </g:else>
을 통과 플러그인을 사용하고 있습니다. 클릭하면 FF와 Chrome에서 LOVED가 '1'로 표시되고 다시 클릭하면 LOVE가 '1'로 잘못 표시됩니다. '0'이어야합니다. 또한 다른 브라우저에서 다시 클릭하면 텍스트를 바꿀 수 없습니다. 궁금한 점이 있다면
var loved = false;
가 원인입니까?
는 도움을 감사합니다
일부 HTML 샘플이 우리를 도울 수있는, 또는 http://jsfiddle.net/ –
@FelipeP에 라이브 예 - 나는 짧은 HTML 샘플에 추가 :
여기 완화없이 수정 된 버전입니다. – kittymeows