我的动态添加的编辑器有问题。我希望能够在单击图标 .icon-size 时附加 div .fonts-container,但是当 div 已经加载时,可以通过再次单击同一个图标和 gettig css:display:none 来隐藏它。然后当再次单击图标时,不会再次加载 div,它只是将 css 更改为 display: 块。
我的 JS 代码就是这样工作的,但是当我有超过 1 个 .editor 时它会出现问题。Fe当我在title1上更改字体时,我想在title2上更改字体不是通过title2加载新的div .fonts-container,而是通过将css更改为display:block来显示.fonts-container。
我怎样才能使这个 JS 在多个 div .editor 上工作
<div class="editor ui-resizable ui-draggable">
<h2 class="text2" style="font-size: 3em;">Title1</h2>
<img class="icon-font" src="/assets/font_size2.png" style="z-index: 2;">
<img class="icon-size" src="/assets/font_size2.png" style="z-index: 2;">
<div class="fonts-container" style="display: none;">
</div>
<div class="editor ui-resizable ui-draggable">
<h2 class="text2" style="font-size: 3em;">Title2</h2>
<img class="icon-font" src="/assets/font_size2.png" style="z-index: 2;">
<img class="icon-size" src="">
<div class="fonts-container" style="display: none;">
</div>
<div class="editor ui-resizable ui-draggable">
<h2 class="text2" style="font-size: 3em;">Title3</h2>
<img class="icon-font" src="/assets/font_size2.png" style="z-index: 2;">
<img class="icon-size" src="">
<div class="fonts-container" style="display: none;">
</div>
这是我的越野车js:
$(document).on('click', '.icon-size', function() {
$('.fonts-size-container').hide().hide();
if ( !$(this).hasClass("active") ) {
$(this).addClass("active");
if ( !$(".fonts-container").hasClass("active")) {
$(this).parent().append("<div class='fonts-container'></div>");
$(".fonts-container").load("/fonts.html", null,
function (responseText, status, response) {});
$(".fonts-container").addClass("active");
} else {
$('.fonts-container').css("display" , "block");
}
} else {
$('.fonts-container').hide("slow");
$(this).removeClass("active");
}
});