Javascript:我如何才能影响我试图触发的特定ID?
问题描述:
例如,当我点击一个按钮时,它会以某种方式影响页面上的每个按钮。我只是想影响我点击的那个。Javascript:我如何才能影响我试图触发的特定ID?
下面是脚本:
// when the user clicks on like
$('.icon-wrapper').on('click', function(){
var postid = $(this).data('id');
$post = $(this);
$.ajax({
url: 'user_profiles.php',
type: 'post',
data: {
'liked': 1,
'postid': postid
},
success: function(response){
$post.parent().find('span.likes_count').text(response);
$post.addClass('hide');
$post.siblings().removeClass('hide');
$post.siblings().addClass('anim');
$post.removeClass('anim');
}
});
});
HTML:
$sql = "SELECT * FROM user_images WHERE username = '$username' ORDER BY id DESC";
$result = mysqli_query($db, $sql);
echo '<div class="hero">';
echo '<div class="hero-content">';
echo '<div class="row">';
while ($row = mysqli_fetch_array($result)) {
echo '<div class="social-img hide-750">';
echo '<div class="social-content">';
echo '<a style="outline: none;" href="../profiles/uploads/'.$row["images"].'" data-fancybox="quote" data-caption="Uploaded by: '.$row["username"].'" >';
echo '<img src="../profiles/uploads/'.$row["images"].'">';
echo '</a>';
echo '<div class="share">';
echo '<form enctype="multipart/form-data" action="../update_note" method="post">';
echo '<i class="fa fa-comment-o" aria-hidden="true"></i>';
echo '<a href="../delete.php?id='.$row["id"].'"><i style="float:right;" class="fa fa-times" aria-hidden="true"></i></a>';
echo '<input type="hidden" name="id" value="'.$row["id"].'"/>';
echo '<input type="hidden" name="img" value="'.$row["images"].'"/>';
echo '<input type="hidden" name="submitOne" />';
echo '<div class="col-3">';
echo '<input name="note" class="effect-2" type="texxxt" placeholder="Update your note..." /> ';
echo '<span class="focus-border"></span>';
echo '</div>';
echo '</form>';
echo '</div>';
?>
<?php
$ssql = "SELECT * FROM likes WHERE userid =".$_SESSION['user_id']." AND postid=".$row['id']."";
$rresult = mysqli_query($db,$ssql);
$lrow = mysqli_fetch_array($rresult);
?>
<?php
if ($lrow['userid']==$_SESSION['user_id'] && $lrow['postid']==$row['id']) {
// user has already liked quote
echo'<div data-id="'.$row['id'].'" class="icon-appear">
<span class="icon"><i style="color: #FFD700;" class="fa fa-star"></i></span>
<div class="border"><span></span></div>
<div class="satellite">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<span class="likes_count">'.$row['likes'].'</span>
</div>';
echo'<div data-id="'.$row['id'].'" class="icon-wrapper hide">
<span class="icon"><i class="fa fa-star"></i></span>
<div class="border"><span></span></div>
<div class="satellite">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<span class="likes_count">'.$row['likes'].'</span>
</div>';
} else {}
动画脚本:
var $iconWrapper = $(".icon-wrapper");
$iconWrapper.on('click', function() {
var _this = $iconWrapper;
if (_this.hasClass('anim')) _this.removeClass('anim');
else {
_this.addClass('anim');
_this.css('pointer-events', 'none');
setTimeout(function() {
_this.css('pointer-events', '');
}, 1200);
}
})
注:其实我有这样的早期类似的问题,因为一切都被打印出来mysqli_fetch_array
里面,我通过重新排列一些lin来解决这个问题ES。
答
因此,在您的代码中,您可以复制
var _this = $ iconWrapper;
从
VAR _this = $(本)
这意味着此背景下,应正确使用。
希望这会有所帮助:-)
我想我们会结婚,看看您呈现的HTML代码,看看这里发生了什么。您是否可以使用受影响按钮的HYML代码进行更新? –
你也应该显示HTML – 2017-11-11 15:34:49
我加了HTML –