多次替换2div之间
Replace between 2 div multiple times
我想在 2 个 div 之间替换多次,但是当我替换它 1 次并再次单击按钮时,它显示了两个。
我试着描述它:当我点击 "Like" 按钮时,它切换到喜欢和计数器工作(ajax 也工作),但是当我点击 "Dislike" 按钮时在那之后,按钮没有被替换它只是告诉我他们两个。
代码:
JS:
<script>
function likethis(likeid)
{
$('#dealid-' + likeid).html(function(i, val) {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type:"get",
url: 'deal/like/'+ likeid,
});
return +val+1;
});
$('#like-' + likeid).replaceWith($('#unlike-' + likeid).html());
}
</script>
<script>
function unlikethis(likeid)
{
$('#dealid-' + likeid).html(function(i, val) {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type:"get",
url: 'deal/like/'+ likeid,
});
return +val-1;
});
$('#unlike-' + likeid).replaceWith($('#like-' + likeid).html());
}
</script>
和视图(我使用 laravel):
$if_null = App\Like::where('post_id','=', $deal->id)
-> where('user_id', '=', Auth::User()->id )
->first();
if (is_null($if_null)){
?>
<div id="like-{{$deal->id}}">
<button onclick="likethis(this.id)" name="like" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart"></i></button>
</div>
<div style="display:none;" id="unlike-{{$deal->id}}">
<button onclick="unlikethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart text-danger"></i></button>
</div>
<?php }
else {?>
<div id="unlike-{{$deal->id}}">
<button onclick="unlikethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart text-danger"></i></button>
</div>
<div style="display:none;" id="like-{{$deal->id}}">
<button onclick="likethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart"></i></button>
</div>
<?php }?>
<div id="dealid-{{$deal->id}}"> {{$deal->like->count()}} </div>
有谁知道为什么吗?多谢! (:
PS: 对不起我的英语。
好的,我会尝试一些事情,我会用这段代码得到我想要的东西
if ($('#like-' + likeid).is(":visible")) {
$('#like-' + likeid).hide();
$('#unlike-' + likeid).show();
} else {
$('#unlike-' + likeid).hide();
$('#like-' + likeid).show();
}
我想在 2 个 div 之间替换多次,但是当我替换它 1 次并再次单击按钮时,它显示了两个。
我试着描述它:当我点击 "Like" 按钮时,它切换到喜欢和计数器工作(ajax 也工作),但是当我点击 "Dislike" 按钮时在那之后,按钮没有被替换它只是告诉我他们两个。
代码:
JS:
<script>
function likethis(likeid)
{
$('#dealid-' + likeid).html(function(i, val) {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type:"get",
url: 'deal/like/'+ likeid,
});
return +val+1;
});
$('#like-' + likeid).replaceWith($('#unlike-' + likeid).html());
}
</script>
<script>
function unlikethis(likeid)
{
$('#dealid-' + likeid).html(function(i, val) {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type:"get",
url: 'deal/like/'+ likeid,
});
return +val-1;
});
$('#unlike-' + likeid).replaceWith($('#like-' + likeid).html());
}
</script>
和视图(我使用 laravel):
$if_null = App\Like::where('post_id','=', $deal->id)
-> where('user_id', '=', Auth::User()->id )
->first();
if (is_null($if_null)){
?>
<div id="like-{{$deal->id}}">
<button onclick="likethis(this.id)" name="like" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart"></i></button>
</div>
<div style="display:none;" id="unlike-{{$deal->id}}">
<button onclick="unlikethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart text-danger"></i></button>
</div>
<?php }
else {?>
<div id="unlike-{{$deal->id}}">
<button onclick="unlikethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart text-danger"></i></button>
</div>
<div style="display:none;" id="like-{{$deal->id}}">
<button onclick="likethis(this.id)" id="{{$deal->id}}" class="link m-r-10"><i class="fa fa-heart"></i></button>
</div>
<?php }?>
<div id="dealid-{{$deal->id}}"> {{$deal->like->count()}} </div>
有谁知道为什么吗?多谢! (: PS: 对不起我的英语。
好的,我会尝试一些事情,我会用这段代码得到我想要的东西
if ($('#like-' + likeid).is(":visible")) {
$('#like-' + likeid).hide();
$('#unlike-' + likeid).show();
} else {
$('#unlike-' + likeid).hide();
$('#like-' + likeid).show();
}