【发布时间】:2011-10-22 18:20:45
【问题描述】:
我正在使用一个 jQuery 插件,它有一个事件处理程序,它的返回函数将 HTMLImageElement 对象作为事件属性 e.imageTarget 提供给我。这个e.imageTarget 的来源来自一个特定<div> 中的一堆<img>。
问题:我想将一对数字42.345573, -71.098326 传递到下面代码中的if() 循环中。我该怎么做?
我的失败尝试:
创建一个包含 2 个值的 <div>,并将其放在被抓取的 <img> 之后。然后在 if() 循环中,使用 jQuery 的 .next() 在 <img> 上选择 <div>。但是我的 jquery 选择代码似乎不起作用!我尝试使用console.log(e.imageTarget.previous()); 并得到错误Uncaught TypeError: Object #<HTMLImageElement> has no method 'previous'。是否可以使用 jQuery DOM 横向选择器?
从抓取的一堆图片:
<img src="http://www.google.com/images/experiments/nav_logo78.png">
<img src="http://www.google.com/images/experiments/nav_logo78.png">
<img src="http://www.google.com/images/experiments/nav_logo78.png">
<div id="lat">42.345573</div>
<div id="lng">-71.098326</div>
e.imageTarget:
<img style="display: block; width: 170px; height: 323px; position: absolute; top: 0px; left: 130px; opacity: 1; " src="http://www.google.com/images/experiments/nav_logo78.png" width="170" height="323">
代码:
Galleria.ready(function(options) {
// Load Streetview after image related to Streetview has finished loading
this.bind("loadfinish", function(e) {
if(e.imageTarget.src.search('png') != -1) {
console.log(e.imageTarget);
// Create Street View
var fenway = new google.maps.LatLng(42.345573,-71.098326);
var panoOptions = {
position: fenway
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById("streetview"), panoOptions);
}
});
});
其他信息
我不能简单地创建一个变量,将其设置为我想要的值并在if() 循环中使用该变量,因为我需要为我拥有的每个数据点创建一个唯一变量。数据点的数量根据检索到的结果而变化,我没有尝试创建动态命名的变量,如 marker1、marker2 等
【问题讨论】:
-
不明白为什么我被否决了......这是一个重复的问题还是我没有尝试就要求免费代码?
标签: javascript jquery google-maps dom google-maps-api-3