私はこれに問題があるようですが、何か分かりません。
私はリンクのリストを持つギャラリーを持っています、すべてのリンクはdiv要素の束をJquery load()
メソッドと非同期に持ち込みます。すべてのAJAX要素の後にスクリプトタグを追加する代わりに
HTML
...
<section class="categories">
<ul class="categoryList">
<li class="selected HTML"> HTML & CSS </li>
<li class="Javascript"> Javascript </li>
<li class="JQuery"> JQuery </li>
<li class="APIs"> APIs </li>
</ul>
</section><!--categories-->
</div><!--leftColumn-->
<div class="mainSection">
<div class="wrapper">
<h1 id="mainSectionTitle"> HTML & CSS </h1>
<hr class="hr">
<div class="gallery">
<!-- Items are inserted here -->
</div><!--gallery-->
</div><!--wrapper-->
</div><!--mainSection-->
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="script.js"></script>
</body>
のjQuery
$(".gallery").load("HTML-CSS.html");
$(".categoryList li").click(function(){
var text = $(this).text();
$("#mainSectionTitle").addClass("animate-inLeft");
$(this).siblings().removeClass("selected");
$(this).addClass("selected");
$(".wrapper h1").text(text);
setTimeout(timeOut, 700);
});
function timeOut(){
$("#mainSectionTitle").removeClass("animate-inLeft")
}
$(".thumb").mouseenter(function(){
$(".opacityParagraph").addClass("opacityParagraphVisible")
$(this).css("opacity", "0.1");
})
$(".thumb").mouseleave(function(){
$(this).css("opacity", "1");
$(".opacityParagraph").removeClass("opacityParagraphVisible")
})
$(".Javascript").click(function(){
$(".gallery").load("Javascript.html");
});
これは内部の "Javascript.html"、呼び出される要素だものです:
<div class="opacityLayer">
<p class="opacityParagraph"> </p>
<div class="thumb"> <a href="..."> <img src="ProjectImages/HTML-CSS/flexbox-gallery.JPG"></a><p></p></div></div>
<script type="text/javascript" src="script.js"></script>
ためにはマウスが私が呼び出すすべてのHTMLセクションの最後にタグを追加しなければならなかったので、いくつかのバグがあります。数回の呼び出しの後、またはボタンを押しすぎると要素が消えてしまうなどの不具合があります。
もっと良い解決策がありますか?
これらのイベントを委任できますか? –