你不是吧,父DIV宽高比子DIV宽高低
那样撑掉了
那样撑掉了
解决方案 »
- JavaScript的innerHTML问题
- 问一个硬件序列号的问题
- 求ifame框架操作父页面问题。
- 代码优化问题?
- 怎样才能让模态窗口中的内容能被选中
- 新手刚刚接触js 麻烦大神给看看这段代码怎么了
- 很奇怪的undefined问题!
- 想要一个JavaScript+ASP+JMail 发送邮件网页的例子!100分相送!谢谢!!!!
- javascript文本操作问题,太简单,就是不知道
- 请教用now()不同时间获得的两个时间的差值的单位是多少?比如说半个小时的差值是多大?
- 虚拟主机不支持虚拟目录,怎样把二级域名映射到子目录?
- 如何把下拉框选择的数据赋给asp的变量(在同一个页面中)不用表单提交
就是这样的效果
<div id=b style="width:2000px;height:2000px;background:#EEE"></div>
</div>
设置这样就可以了,拖动的代码自己搜索一下.
1.把图片做div背景,用css设置背景位置
2.当拖拽的时候,计算并改变背景图片的位置。
这个方法应该是可以的,但我对css设置背景图片位置不懂,所以不知道
难度有多大,希望对你有所 帮助
<head>
<title>Ajaxian Maps</title>
<style type="text/css">
h1 {
font: 20pt sans-serif;
}
#outerDiv {
height: 600px;
width: 800px;
border: 1px solid black;
position: relative;
overflow: hidden;
} #innerDiv {
position: relative;
left: 0px;
top: 0px;
}
</style>
<script type="text/javascript">
// constants
var viewportWidth = 800;
var viewportHeight = 600;
var tileSize = 100; // used to control moving the map div
var dragging = false;
var top;
var left;
var dragStartTop;
var dragStartLeft; function init() {
// make inner div big enough to display the map
setInnerDivSize('2000px', '1400px'); // wire up the mouse listeners to do dragging
var outerDiv = document.getElementById("outerDiv");
outerDiv.onmousedown = startMove;
outerDiv.onmousemove = processMove;
outerDiv.onmouseup = stopMove; // necessary to enable dragging on IE
outerDiv.ondragstart = function() { return false; } checkTiles();
} function startMove(event) {
// necessary for IE
if (!event) event = window.event; dragStartLeft = event.clientX;
dragStartTop = event.clientY;
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.cursor = "-moz-grab"; top = stripPx(innerDiv.style.top);
left = stripPx(innerDiv.style.left); dragging = true;
return false;
} function processMove(event) {
if (!event) event = window.event; // for IE
var innerDiv = document.getElementById("innerDiv");
if (dragging) {
innerDiv.style.top = top + (event.clientY - dragStartTop);
innerDiv.style.left = left + (event.clientX - dragStartLeft);
} checkTiles();
}
// START:checktiles
function checkTiles() {
// check which tiles should be visible in the inner div
var visibleTiles = getVisibleTiles(); // add each tile to the inner div, checking first to see
// if it has already been added
var innerDiv = document.getElementById("innerDiv");
var visibleTilesMap = {}; //<label id="empty.map"/>
for (i = 0; i < visibleTiles.length; i++) { //<label id="iterate.visible.tiles"/>
var tileArray = visibleTiles[i];
var tileName = "x" + tileArray[0] + "y" + tileArray[1] + "z0";
visibleTilesMap[tileName] = true;
var img = document.getElementById(tileName); //<label id="id.attribute"/>
if (!img) { //<label id="id.attribute.3"/>
img = document.createElement("img"); //<label id="create.img"/>
img.src = "resources/tiles/" + tileName + ".jpg"; //<label id="tile.url"/>
img.style.position = "absolute";
img.style.left = (tileArray[0] * tileSize) + "px";
img.style.top = (tileArray[1] * tileSize) + "px";
img.setAttribute("id", tileName); //<label id="id.attribute.2"/>
innerDiv.appendChild(img); //<label id="add.img"/>
}
}
}
// END:checktiles function getVisibleTiles() {
var innerDiv = document.getElementById("innerDiv"); var mapX = stripPx(innerDiv.style.left);
var mapY = stripPx(innerDiv.style.top); var startX = Math.abs(Math.floor(mapX / tileSize)) - 1;
var startY = Math.abs(Math.floor(mapY / tileSize)) - 1; var tilesX = Math.ceil(viewportWidth / tileSize) + 1;
var tilesY = Math.ceil(viewportHeight / tileSize) + 1; var visibleTileArray = [];
var counter = 0;
for (x = startX; x < (tilesX + startX); x++) {
for (y = startY; y < (tilesY + startY); y++) {
visibleTileArray[counter++] = [x, y];
}
}
return visibleTileArray;
}
function stopMove() {
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.cursor = "";
dragging = false;
}
function stripPx(value) {
if (value == "") return 0;
return parseFloat(value.substring(0, value.length - 2));
} function setInnerDivSize(width, height) {
var innerDiv = document.getElementById("innerDiv");
innerDiv.style.width = width;
innerDiv.style.height = height;
}
</script>
<body onload="init()">
<p>
<h1>Ajaxian Maps</h1>
</p>
<div id="outerDiv">
<div id="innerDiv">
</div>
</div>
</body>
</head>
</html>
我刚结贴你就发了,确实没看到
今天不能加分了,明天我一定给你追加分,谢谢。
<style>
.parentBox{width:500px; height:500px; overflow:hidden; background-color:#FF0000;}
.childBox{width:1000px; height:1000px; background-color:#000000;}
</style>
<br/><br/><br/><br/><br/>
<div class="parentBox">
<div class="childBox" id="childBox" ><img src="../My Documents/My Pictures/26_012412_vista256.jpg" /></div>
</div>
<script>
var childBox = document.getElementById("childBox");
function GetOffset(e)
{
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent)
{
t +=e.offsetTop;
l +=e.offsetLeft;
}
return [t,l];
}
if (document.getElementById){
(
function(){
var n = 500;
var dragok = false;
var y,x,d,dy,dx;
function move(e)
{
if (!e) e = window.event;
if (dragok){
var mainstyle=childBox.style;
try{
var left = dx + e.clientX - x;
var top = dy + e.clientY - y;
mainstyle.left=left;
mainstyle.top=top;
mainstyle.position="absolute";
return false;
}
catch(e){}
}
}
function down(e){
if (!e) e = window.event;
var temp = (typeof e.target != "undefined")?e.target:e.srcElement;
if (temp.tagName != "HTML"|"BODY" && temp.className != "dragclass"){
temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
}
if('TR'==temp.tagName){
temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
}
if (true){
dragok = true;
temp.style.zIndex = n;
d = temp;
dx = GetOffset(temp)[1];
dy = GetOffset(temp)[0];
x = e.clientX;
y = e.clientY;
document.onmousemove = move;
return false;
}
}
function up(){
dragok = false;
childBox.onmousemove = null;
}
childBox.onmousedown = down;
childBox.onmouseup = up;
childBox.onselectstart = function(){return false;};
}
)();
}
</script>
#outerDiv
{
height:600px;
width:800px;
border:1px solid black;
position:relative;
overflow:hidden;
background-color:#7788FF;
}
#innerDiv
{
height:1000px;
width:800px;
position:relative;
left:1px;
top:1px;
background-color:#FF7788;
}
</style>
<script type="text/javascript">
var dragStartLeft;
var dragStartTop;
var top;
var left;
var dragging = false;
function stripPx(value)
{
if (value == "")
{
return 0;
}
return parseFloat(value.substring(0, value.length - 2));
}
function startMove()
{
dragStartLeft = event.clientX;
dragStartTop = event.clientY;
var innerDiv = document.getElementById("innerDiv");
top = stripPx(innerDiv.style.top);
left = stripPx(innerDiv.style.left);
dragging = true;
return false;
}
function processMove()
{
var innerDiv = document.getElementById("innerDiv");
if(dragging)
{
innerDiv.style.top = top + (event.clientY - dragStartTop);
innerDiv.style.left = left + (event.clientX - dragStartLeft);
}
}
function stopMove()
{
dragging = false;
}
</script><div id="outerDiv">
<div id="innerDiv" onmousedown="startMove()" onmousemove="processMove()" onmouseup="stopMove()">
</div>
</div>