- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在我的 HTML 页面上添加了一张图片,由于图片很大,我将它显示在一个 div 上,我可以在滚动 map 时滚动该图片。我使用 jQuery 在其上添加了 3 个标记。
问题是当我滚动图像时,标记没有滚动。我怎样才能做到这一点?
这是我的 JS Fiddle demo和代码:
var Markers = {
fn: {
addMarkers: function() {
var target = $('#image-wrapper');
var data = target.attr('data-captions');
var captions = $.parseJSON(data);
var coords = captions.coords;
for (var i = 0; i < coords.length; i++) {
var obj = coords[i];
var top = obj.top;
var left = obj.left;
var text = obj.text;
$('<span class="marker"/>').css({
top: top,
left: left
}).html('<span class="caption">' + text + '</span>').
appendTo(target);
}
},
showCaptions: function() {
$('span.marker').live('click', function() {
var $marker = $(this),
$caption = $('span.caption', $marker);
if ($caption.is(':hidden')) {
$caption.slideDown(300);
} else {
$caption.slideUp(300);
}
});
}
},
init: function() {
this.fn.addMarkers();
this.fn.showCaptions();
}
};
$(function() {
Markers.init();
});
#mydiv {
overflow: auto;
max-width: 800px;
max-height: 600px;
}
#image-wrapper {
width: 400px;
height: 400px;
position: relative;
margin: 2em auto;
background: #f6f6f6;
border: 2px solid #ddd;
}
#image-wrapper img {
display: block;
margin: 25px auto;
}
span.marker {
width: 20px;
height: 20px;
background: #f66;
color: #fff;
text-align: center;
position: absolute;
line-height: 20px;
cursor: pointer;
}
span.marker:before {
content: '+';
}
span.caption {
width: 180px;
background: #f66;
color: #fff;
padding: 4px;
position: absolute;
top: 20px;
left: 0;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="image-wrapper"
data-captions='{"coords": [
{"top":180,"left":160,"text":"iMac 1"},
{"top":250,"left":300,"text":"iMac 2"},
{"top":250,"left":360,"text":"iMac 2"}
]}'>
<div id='mydiv'>
<img src="https://cdn.vectorstock.com/i/1000x1000/96/84/top-view-city-map-abstract-town-flat-design-vector-11299684.jpg" alt="" />
</div>
</div>
我如何更新我的 JS Fiddle 以便实现它,当我滚动我的图像时,图钉相应地滚动并始终粘在其固定位置?
最佳答案
你的意思是这样的?如果这是您的本意,您基本上将 overflow: auto;
放在了错误的位置。
var Markers = {
fn: {
addMarkers: function() {
var target = $('#image-wrapper');
var data = target.attr('data-captions');
var captions = $.parseJSON(data);
var coords = captions.coords;
for (var i = 0; i < coords.length; i++) {
var obj = coords[i];
var top = obj.top;
var left = obj.left;
var text = obj.text;
$('<span class="marker"/>').css({
top: top,
left: left
}).html('<span class="caption">' + text + '</span>').
appendTo(target);
}
},
showCaptions: function() {
$('span.marker').live('click', function() {
var $marker = $(this),
$caption = $('span.caption', $marker);
if ($caption.is(':hidden')) {
$caption.slideDown(300);
} else {
$caption.slideUp(300);
}
});
}
},
init: function() {
this.fn.addMarkers();
this.fn.showCaptions();
}
};
$(function() {
Markers.init();
});
#mydiv {
max-width: 800px;
max-height: 600px;
}
#image-wrapper {
overflow: auto;
width: 400px;
height: 400px;
position: relative;
margin: 2em auto;
background: #f6f6f6;
border: 2px solid #ddd;
}
#image-wrapper img {
display: block;
margin: 25px auto;
}
span.marker {
width: 20px;
height: 20px;
background: #f66;
color: #fff;
text-align: center;
position: absolute;
line-height: 20px;
cursor: pointer;
}
span.marker:before {
content: '+';
}
span.caption {
width: 180px;
background: #f66;
color: #fff;
padding: 4px;
position: absolute;
top: 20px;
left: 0;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="image-wrapper"
<div id="image-wrapper" data-captions='{"coords": [{"top":180,"left":160,"text":"iMac 1"},{"top":250,"left":300,"text":"iMac 2"},
{"top":250,"left":360,"text":"iMac 2"}
]}'>
<div id='mydiv'>
<img src="https://cdn.vectorstock.com/i/1000x1000/96/84/top-view-city-map-abstract-town-flat-design-vector-11299684.jpg" alt=""/>
</div>
</div>
关于javascript - 滚动图像时如何移动图像上添加的图钉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49067772/
我想绘制一个 Bing map ,它采用纬度和经度值并在 map 上绘制图钉。目前我只是使用一些测试数据,因为我才刚刚开始学习 API。下面的代码绘制了一张 map ,但没有向其中添加任何图钉。我似乎
我正在开发一个包含 MapKit 的应用程序。当第一张 map 加载时,pin 将位于预定义的位置。而此时pin的draggable属性设置为NO。现在我想做这个..当用户按下按钮编辑时,它将允许用户
我有一个条件语句,可以在下面的方法中添加 map 注释图标/图钉。我遇到的问题是 map 上填充了所有相同的图标。它应该检测猫 ID 并根据检测到的猫 ID 显示图标。我不确定问题出在哪里,因为这在
我正在制作一个 iOS 应用程序,用户可以在其中放置一个图钉 (CLLocation) 在 map 上,并且该点 x 英里范围内的所有其他用户都可以在 map 上看到它。我怎样才能做到这一点? 最佳答
我有一个 map 应用程序,当用户移动到某些位置时,它会插入 map 图钉,我的问题是如何计算用户经过或去过同一地点的次数。 在以下示例中有: 用户已到过地点 A (纬度、经度)五次。 这是我到目前为
这里我有两个观点: WallViewController TableViewController WallViewController 包含 MKMapView,TableViewController
在 MKMapView 上,您可以显示用户位置。蓝色用户位置点周围是一种“蓝色光环”,代表准确性。如何将它添加到我自己的应用程序中,但围绕一个引脚? pin 的位置来自那里使用 CoreLocatio
我一直在尝试制作一个应用程序,当按下标记调查结果按钮时, map 图钉会在用户的当前位置弹出。 问题是,每当我在 IBAction 中调用 DidUpdateLocations 时, map 注释永远
我有这个代码可以在谷歌地图上显示多个地址。 问题是,当页面首次加载时, map 显示蓝色的大海并且不对地址进行地理编码,我想它正在使用 0,0 的经纬度。 当我重新加载页面时,它会找到地址并将其显示在
我有一个带有大量图钉的 map View ,每个图钉都有唯一的注释。该 map 还显示了用户位置的脉动蓝点。到目前为止,我只能确定是否触摸了一个引脚,但不能确定被触摸的特定引脚。 如何确定用户触摸的
我正在尝试创建一个搜索栏,用于过滤掉列表中与搜索查询不匹配的项目。我试图添加的附加功能是,如果它与搜索查询不匹配,它也会从 map 中删除图钉。 这就是我现在拥有的,它适用于删除页面顶部的名称,但我喜
我是 Maps Concept 的新手。 请一次找到所附图片。 当我单击“图钉”时,我收到的消息是“欣赏你的微笑”或任何文字......现在我想......当我们选择表格 View 时,我需要为此提出
我在我的应用程序中使用谷歌地图 api。我的应用程序中有两个按钮。第一个按钮在我的 map 中添加了一个标记(图钉)。 现在我想要第二个按钮将添加的图钉水平移动到页面中心,并使其移动到页面顶部的 25
我正在尝试创建一个自定义引脚,该引脚的中心有一个标签,该标签会随每个引脚而变化。标签只是引脚编号,因此如果我有 8 个引脚,每个引脚都会在中心有一个数字,即第一个引脚将有 1,第二个引脚将有 2,依此
我正在尝试显示带有坐标数组的 map View 。所以,我从包含这些的数组中加载纬度和经度。它显示完美。现在,我想用不同的颜色图钉显示一个特定的纬度和经度。我提到了this answer我看不出有什么
服务器响应每 5 秒更新一次坐标。我将这个坐标像图钉一样添加到 map 中。但是当前对象的现有坐标不会删除,它只是添加为新坐标。如何更新当前对象的坐标并删除暂时没有坐标的对象? 我使用原生 map 。
在我的应用程序中,我使用 json 从 Web 服务下载一组点。将应用程序实现到 iOS7,我正在试验这个问题:位置已下载,但在用户触摸并“移动” map 之前不会绘制 map 上的图钉。然后它们出现
我知道这是一个经常被问到的问题。一段时间以来,我一直在阅读这里的许多问题。我希望有人能有一种更简单的方法,使用我必须用图像替换 map 上的图钉的代码。我对 objective-c 还是很陌生。我的代
mapbox 的文档中有两个相关示例: Change Marker Color on Click和 Draggable Marker 但是他们以非常不同的方式创建标记。 方法A: 在“单击时更改标记颜
我正在将注释加载到我的 map View 上。加载 map 时,注释显示为图钉。 但是,标题和副标题不会自动出现在图钉上。目前,用户需要在标题显示之前点击图钉。 有没有办法让标题在加载 map 时自动
我是一名优秀的程序员,十分优秀!