【问题标题】:how to properly use the like system twitter style button如何正确使用like系统twitter风格按钮
【发布时间】:2017-04-07 06:15:30
【问题描述】:

我创建了一个类似的系统,用户可以在其中喜欢另一个用户的帖子。数据已插入到我的数据库中。我唯一的问题是,如果用户喜欢帖子,我不知道如何保持点赞按钮。因为当用户喜欢帖子并刷新页面时,按钮也会刷新/返回到不同的状态

这就是我的按钮的默认图标看起来是灰色的。当用户悬停按钮时,它会运行动画,当用户点击时它应该变成红色。但是因为当用户点击喜欢按钮时,我运行重新加载页面按钮返回灰色..我想我错过了一些东西,但我不知道该怎么做.....

CSS

.coracao{  
background: url("https://abs.twimg.com/a/1446542199/img/t1/web_heart_animation.png");
 height: 50px;
 width: 50px;
 background-size: 2900%;
 background-position: left center; 

  top: -30px;
  left:  0px;
  position:absolute;

}
.coracao.ativo{  
background: url("https://abs.twimg.com/a/1446542199/img/t1/web_heart_animation.png");
 height: 50px;
 width: 50px;
 background-size: 2900%;
 background-position: right center; 

  top: -30px;
  left:  0px;
  position:absolute;
  animation: none 0s !important;
    -moz-animation: none 0s !important;

}
.btn:hover .coracao{
animation: animationFrames 1.4s steps(28) infinite;
}

@keyframes animationFrames{ 
  100%{
background-position: -2800px ;

  }
}

我想我需要在这里做一些条件我只是不知道该怎么做...... 这是按钮

<div class="btn like"> 
    <div class="boxcoracao">
        <span class="coracao" name="like"><br>&emsp;&emsp;&emsp;Love</span>
    </div>
</div>&emsp;&emsp;&emsp;

这是我插入用户数据和帖子ID的地方

<script>
 $(".like").click(function(){ 
  if ($('.boxcoracao .coracao',this).toggleClass("ativo")){  
    togglePost("like"); // run function 
  } else {
   // update the text to show what the next click would be
    togglePost("dislike"); // run function
  }

 function togglePost(action){

  $.ajax({
        type: "post",
        url: "",
        data: "",
        success: function(data){
          window.location.reload();
        },
        error: function(e){
         alert("please try again...");
        }
      });
 }

}); 
</script>

【问题讨论】:

  • ajax 成功后重新加载页面的原因是什么?那用ajax就没意义了。
  • 可能有助于将其组装成演示fiddle,以便人们可以尝试调试问题。
  • 我不知道如何使用小提琴..对不起..但你可以试试我知道它会工作..唯一的问题是即使我重新加载我怎么能保持喜欢的图标页面。

标签: php jquery html css mysql


【解决方案1】:

当您查询所有帖子时,您还需要通过对活动用户的点赞进行联接来拉出帖子的“点赞”状态,然后根据该标志设置点赞按钮的内容。

我是你的例子,加载页面时没有 PHP 来处理页面。您所要求的是只有通过使用基于数据库内容处理页面输出的服务器端脚本才能实现的功能。

研究 PHP Web 应用程序。这是纯 JS、HTML 和 CSS 无法实现的。

【讨论】:

  • 另外,顺便提一下,我提到了很多 PHP,但事实证明,你实际上可以使用大量其他语言和 Web 应用程序框架来处理这类事情。你有很多学习要做,所以你需要做的是研究“编写 Web 应用程序”。这应该能让你到达你需要的地方。
猜你喜欢
  • 2020-03-20
  • 1970-01-01
  • 2019-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多