javascript – 是否可以通过拖动来更改背景位置?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 是否可以通过拖动来更改背景位置?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1833字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 是否可以通过拖动来更改背景位置?](/upload/InfoBanner/zyjiaocheng/742/5a407557e4b042f2bcf03ef0b6f9d4c5.jpg)
我有一个使用世界地图图像作为背景的html地图.
我可以创建一个改变div的背景位置的js函数,但是当用户点击地图然后拖动像谷歌地图时,我喜欢改变背景位置.
所以我这里有一个示例页面:http://lab.qacode.com/map,它使用http://lab.qacode.com/map/map.jpg
我将不胜感激任何建议或提示.
解决方法:
一个简单的方法是使用jQuery UI的draggable
HTML
<div id="map">
<div class="map-canvas"></div>
</div>
JavaScript的
// Pre-select elements
var map = $("#map"),
canvas = map.find(".map-canvas");
// Calculate canvas constraints
var maxLeft = map.width()-canvas.width(),
maxTop = map.height()-canvas.height();
// Make canvas draggable
canvas.draggable({
drag: function(e, ui) {
// Check if canvas is within constraints
if (ui.position.left > 0) {
ui.position.left = 0;
} else if (ui.position.left < maxLeft) {
ui.position.left = maxLeft;
}
if (ui.position.top > 0) {
ui.position.top = 0;
} else if (ui.position.top < maxTop) {
ui.position.top = maxTop;
}
}
});
放置标记
可以在地图上放置标记(或其他).它非常简单,并且coords基于画布内的像素.对于测试用例中的标记,它从画布的左侧和顶部开始是150px.
// Create simple dot marker
$("<div></div>")
.addClass("map-marker")
.appendTo(canvas)
.offset(function(){
return { left: 150, top: 150 };
})
// Append a label
.append("<span><- Dot</span>");
现在更先进的东西,即(in)着名的谷歌地图引脚.
// Create draggable Google Maps pin marker
var pin =
$("<div></div>")
.addClass("google-pin")
.appendTo(canvas)
.offset(function(){
return { left: 50, top: 50 };
})
// Bind mouseup/down for visual confirmation of grab
.bind({
mousedown: function(){
var os = pin.offset();
pin.offset(function(){
return { top: os.top-3 };
});
},
mouseup: function(){
var os = pin.offset();
pin.offset(function(){
return { top: os.top+3 };
});
}
})
// Make it draggable
.draggable({
start: function(e,ui){
ui.helper.offset(function(){
return { top: ui.offset.top-2 };
});
},
container: canvas
});
内容总结
以上是互联网集市为您收集整理的javascript – 是否可以通过拖动来更改背景位置?全部内容,希望文章能够帮你解决javascript – 是否可以通过拖动来更改背景位置?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。