javascript - 有没有办法将两个javascript合并在一起?
问题描述
我只是不知道如何将它们合并在一起,或者我总是必须为我所有的弹出窗口写一个不同的?我尝试了不同的东西,但都没有奏效。
$(document).ready(function() {
$('#trigger').click(function() {
$('#overlay').fadeIn(300);
});
$('#close').click(function() {
$('#overlay').fadeOut(300);
});
});
$('#overlay').click(function(e) {
if (e.target == this) {
if ($('#overlay').is(':visible')) {
$('#overlay').fadeOut(300);
}
}
});
$(document).ready(function() {
$('#trigger2').click(function() {
$('#overlay2').fadeIn(300);
});
$('#close2').click(function() {
$('#overlay2').fadeOut(300);
});
});
$('#overlay2').click(function(e) {
if (e.target == this) {
if ($('#overlay2').is(':visible')) {
$('#overlay2').fadeOut(300);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- begin snippet: js hide: false console: true babel: false -->
解决方案
如果您使用类名或 data-* 属性,这很容易。
<div class="overlay" data-id="1"></div>
<div class="overlay" data-id="2"></div>
然后JS:
$('.trigger').on('click', function() {
var number = $(this).dataset().id;
// also valid:
var number = $(this).attr('data-id');
$('.overlay[data-id="' + number + "').fadeOut();
});
尝试类似的东西。
推荐阅读
- postgresql - Docker 中的 postgres 与命名或绑定卷上的数据目录适用于 Windows Server 2019 但不适用于 Windows Server 2016
- ssas - SSAS 与 SQL Server 通信的方式
- visual-studio - 是否可以将 Visual Studio 负载测试从编码转换为可视化?
- javascript - 扩展 Polymer 3 中的纸张输入
- node.js - 使用 Application Load Balancer 的 AWS lambda 基本身份验证
- excel - 代码不会“等待”直到工作簿打开才能继续
- python - 在 pytest 中定义 setup/teardown 夹具以从模块执行功能的正确方法和位置是什么?
- c++ - 如何修复 CMake 中缺少的库错误?
- r - 训练集和测试集的维度在 R 中为空
- php - 如何使用 php 在文件中删除一行并使用擦除作为指针添加其他新行?