似たような質問がありますが、私にはまだ助けになるものはありませんでした。 .fa-caret-right
要素のCSS "トランスフォーム"プロパティを切り替えたいとします。初めてクリックすると機能がうまく動作します。しかし、私はそれを2回目にトリガしようとすると、私は常に2回クリックする必要があります。 JavaScriptとHTMLコードを別々のファイルに分けて、HTMLファイルのhead
にリンクしました。.click()イベントを切り替えるには、2回クリックする必要があります。
編集:私は#counter
を追加し、count++;
がfa-caret-right
がクリックされたが、transform
のみ他のすべての時間が働いているとき、作業常にであること、が分かりました。
誰かが私が作った間違いを見るかもしれない、ありがとう! 私はすでに私が知っているいくつかのクリックイベントを試してみましたが、これは現時点では私のコードです:
HTML
<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''はそこにはありません。また3回目のクリックで作業している理由は、ページを再読み込みしたり、 '' count = 1''を再び呼び出す '' $( "document")。 – chowmean
実際には13個の '#p'要素があります - この例ではコードを短縮しました。 あなたが正しいとすれば、そのページは再読み込みされているので、私には見えません。私も '$(" document ")。ready'なしでコードを書こうとしましたが、何も動作しません。 しかし、私は文書にカウンタを挿入し、「カウント」は常に増加しますが、CSSアクションは機能していないことに気付きました。したがって、この機能は部分的に機能しています。 –