我知道有類似的問題,但沒有任何可以幫助我。 我想切換.fa-caret-right
元素的CSS「transform」屬性。當我第一次點擊時,該功能運行良好。但是當我第二次嘗試觸發它時,我總是需要點擊兩次。 我已將JavaScript和HTML代碼分開放在不同的文件中,並將其鏈接到HTML文件的head
中。必須點擊兩次來切換.click()事件
編輯:我添加#counter
才知,那是count++;
總是被點擊時fa-caret-right
但transform
只工作每個其他時間工作。
也許有人看到我犯的一個錯誤,謝謝! 我已經嘗試了幾種點擊事件,我知道,但這是我的時刻代碼:
HTML(總共有13種#p
元素)
<section class="viewport">
<div class="content">
<div class="controls">
<i class="fa fa-caret-right" aria-hidden="true"></i>
</div>
<p id="counter">1 of 13</p>
<div class="gallery large">
<img src="files/img/ogimage.jpg" id="p1">
<img src="files/img/ogimage2.jpg" id="p2">
<img src="files/img/ogimage3.jpg" id="p3">
<img src="files/img/ogimage4.jpg" id="p4">
</div>
</div>
</section>
的JavaScript
//JavaScript Document
$('document').ready(function() {
var count = 1;
var total = 13;
$('.fa-caret-right').on('click' ,function scrollHorizontal() {
count++;
var number = count + " of 13";
var scrollTo = $("#p"+count);
var where = $(scrollTo).offset().left - 150;
$('#counter').html(number);
$(".gallery").stop().css("transform","translateX(-"+where+"px)");
}
);
});
你可以爲這個問題製作一個jsfiddle或codepen嗎? –
您正在使用'''count'''進行跟蹤。當你點擊一次,'''count = 2'''這意味着'''p2''',但是當你再次點擊時它變成了3,'''p3'''不在那裏。對於第三次點擊工作,原因可能是它正在重新加載頁面或啓動$(「document」)。ready'''函數,它會再次產生count = 1。 – chowmean
實際上有13個'#p'元素 - 我縮短了這個例子中的代碼。 如果你是對的,該頁面被重新加載,它是不可見的。我也嘗試編寫沒有'$(「document」)。ready'的代碼,但沒有任何效果。 但我在文檔中插入了一個計數器,並意識到'count'總是增加而CSS-操作不起作用。所以該功能部分工作。 –