如何用不同的id激发一个函数's
How to fire one function with different id's
我有一个主PHP文件,里面有8个PHP文件。我使用引导类"Modal",并且在每个模态中使用谷歌地图。所以我有不同的ID来显示谷歌地图,但功能是一样的。这意味着,当每个模式弹出窗口中的一个时,该函数将被触发并显示谷歌地图。我为每个ID实现了8种不同的功能。
我想要的是,有没有办法只通过一个函数来实现?
因此,更清楚地说,如果模式弹出窗口带有id = 1
,它会在<div id="location_incident1">
中显示谷歌地图;如果模式弹出框带有id = 2
,它会显示<div id="location_incident2">
中的谷歌地图;而如果模式弹出菜单带有id = 3
,它会将谷歌地图显示在<div id="location_incident3">
中,依此类推
以下是我的代码:
function locationOfIncident3(current)
{
var lat = current.coords.latitude;
latIncident = lat;
var lon = current.coords.longitude;
lonIncident = lon;
var mapOption={
center: new google.maps.LatLng(lat, lon),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map3 = new google.maps.Map(document.getElementById('location_incident3'), mapOption);
marker3 = new google.maps.Marker({
position: new google.maps.LatLng(lat, lon),
map: map3,
draggable: true,
title: 'Location of Incident'
});
google.maps.event.addListener(marker3, 'dragend', function(res){
latIncident = res.latLng.lat();
lonIncident = res.latLng.lng();
getAddress3(latIncident, lonIncident);
});
}
如果不需要保留map3
、marker3
。。。函数之外的变量,应该使用局部变量,即var map
、var market
。。。
编号字符串可以使用+
级联运算符动态创建,如下所示:
function locationOfIncident(n, current) {
...
var map = new google.maps.Map(document.getElementById('location_incident' + n), mapOption);
...
}
您可以重构对locationOfIncident1
、locationOfIncident2
、…的调用。。。在文本编辑器中使用正则表达式替换:locationOfIncident('d+)'s*'(
=>locationOfIncident'($1,
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么