用javascript實現(xiàn)在小方框中瀏覽大圖的代碼
更新時間:2007年08月14日 19:32:01 作者:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
<style type="text/css">
<!--
#pic {
height: 300px;
width: 420px;
border: 3px solid #ccc;
background-image: url(http://www.happyshow.org/sample/20060619/3.jpg);
background-repeat: no-repeat;
background-position: 0px 0px;
background-color: #333;
cursor: crosshair;
}
-->
</style>
<script type="text/javascript">
<!--
var p = new Array();
var speed = 1.0; // 1 表示1倍速度,即原速
var x,y // 鼠標(biāo)點下去時背景的坐標(biāo)
var x_new,y_new //位移
function getmouseposition(event)
{
if(document.all)
{
x = document.body.scrollLeft+event.clientX;
y = document.body.scrollTop+event.clientY;
}else
{
x = event.layerX;
y = event.layerY;
}
}
function setmouseposition(event)
{
if(document.getElementById('pic').style.backgroundPosition.length==0)
{document.getElementById('pic').style.backgroundPosition="0px 0px";}
p = document.getElementById('pic').style.backgroundPosition.split(" ")
if(document.all)
{
x_new = document.body.scrollLeft+event.clientX;
y_new = document.body.scrollTop+event.clientY;
}else
{
x_new = event.layerX;
y_new = event.layerY;
}
x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10); // 計算位移量
y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
-->
</script>
</head>
<body>
<div id="pic" onmousedown="getmouseposition(event)" onmouseup="setmouseposition(event)"></div>
今天在玩 google earth 4.0b,發(fā)現(xiàn) Print Screen 下來的圖片很大,如果直接放在網(wǎng)頁上,因為尺寸太大又不合適,又不想壓縮圖片的尺寸,于是乎就想到了這種方法,沒想到實現(xiàn)起來比預(yù)想的要容易。呵呵,該死的是,這段代碼還兼容 firefox。
</body>
</html>
今天在玩 google earth 4.0b,發(fā)現(xiàn) Print Screen 下來的圖片很大,如果放在網(wǎng)頁不合適,又不想壓縮圖片的尺寸,于是乎就想到了這種方法,沒想到實現(xiàn)起來比預(yù)想的要容易。呵呵,該死的是,這段代碼還兼容 firefox。
--------------------------------------------------------------------------------------
2006.6.20 修改:
·添加了滾動的范圍,不會出現(xiàn)背景
·用到onmousemove事件,圖片實時隨鼠標(biāo)移動而移動
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
<style type="text/css">
<!--
#pic {
width:420px;
height:300px;
border: 3px solid #ccc;
background-image: url(http://www.happyshow.org/sample/20060619/3.jpg);
background-repeat: no-repeat;
background-position: 0px 0px;
cursor: move;
}
-->
</style>
<script type="text/javascript">
<!--
var p = new Array();
var speed = 0.05; //速度
var picWidth = 1280; // 大圖的寬高
var picHeight = 971;
var x,y // 鼠標(biāo)點下去時背景的坐標(biāo)
var x_new,y_new //位移
var haveclick = false;
function getmouseposition(event)
{
if(document.all)
{
x = document.body.scrollLeft+event.clientX;
y = document.body.scrollTop+event.clientY;
}else
{
x = event.layerX;
y = event.layerY;
}
haveclick = true;
}
function movestop()
{
haveclick = false;
}
function movestart(event)
{
if(haveclick)
{
if(document.getElementById('pic').style.backgroundPosition.length==0)
{document.getElementById('pic').style.backgroundPosition="0px 0px";}
p = document.getElementById('pic').style.backgroundPosition.split(" ")
if(document.all)
{
x_new = document.body.scrollLeft+event.clientX;
y_new = document.body.scrollTop+event.clientY;
}else
{
x_new = event.layerX;
y_new = event.layerY;
}
x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10); // 計算位移量
y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
if (x2<-picWidth+420) x2=-picWidth+420;
if (y2>0) y2=0;
if (x2>0) x2=0;
if (y2<-picHeight+300) y2=-picHeight+300;
document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
}
-->
</script>
</head>
<body>
<div id="pic" onmousedown="getmouseposition(event)" onmousemove="movestart(event)" onmouseup="movestop()" onmouseout="movestop()"> </div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
<style type="text/css">
<!--
#pic {
height: 300px;
width: 420px;
border: 3px solid #ccc;
background-image: url(http://www.happyshow.org/sample/20060619/3.jpg);
background-repeat: no-repeat;
background-position: 0px 0px;
background-color: #333;
cursor: crosshair;
}
-->
</style>
<script type="text/javascript">
<!--
var p = new Array();
var speed = 1.0; // 1 表示1倍速度,即原速
var x,y // 鼠標(biāo)點下去時背景的坐標(biāo)
var x_new,y_new //位移
function getmouseposition(event)
{
if(document.all)
{
x = document.body.scrollLeft+event.clientX;
y = document.body.scrollTop+event.clientY;
}else
{
x = event.layerX;
y = event.layerY;
}
}
function setmouseposition(event)
{
if(document.getElementById('pic').style.backgroundPosition.length==0)
{document.getElementById('pic').style.backgroundPosition="0px 0px";}
p = document.getElementById('pic').style.backgroundPosition.split(" ")
if(document.all)
{
x_new = document.body.scrollLeft+event.clientX;
y_new = document.body.scrollTop+event.clientY;
}else
{
x_new = event.layerX;
y_new = event.layerY;
}
x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10); // 計算位移量
y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
-->
</script>
</head>
<body>
<div id="pic" onmousedown="getmouseposition(event)" onmouseup="setmouseposition(event)"></div>
今天在玩 google earth 4.0b,發(fā)現(xiàn) Print Screen 下來的圖片很大,如果直接放在網(wǎng)頁上,因為尺寸太大又不合適,又不想壓縮圖片的尺寸,于是乎就想到了這種方法,沒想到實現(xiàn)起來比預(yù)想的要容易。呵呵,該死的是,這段代碼還兼容 firefox。
</body>
</html>
今天在玩 google earth 4.0b,發(fā)現(xiàn) Print Screen 下來的圖片很大,如果放在網(wǎng)頁不合適,又不想壓縮圖片的尺寸,于是乎就想到了這種方法,沒想到實現(xiàn)起來比預(yù)想的要容易。呵呵,該死的是,這段代碼還兼容 firefox。
--------------------------------------------------------------------------------------
2006.6.20 修改:
·添加了滾動的范圍,不會出現(xiàn)背景
·用到onmousemove事件,圖片實時隨鼠標(biāo)移動而移動
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
<style type="text/css">
<!--
#pic {
width:420px;
height:300px;
border: 3px solid #ccc;
background-image: url(http://www.happyshow.org/sample/20060619/3.jpg);
background-repeat: no-repeat;
background-position: 0px 0px;
cursor: move;
}
-->
</style>
<script type="text/javascript">
<!--
var p = new Array();
var speed = 0.05; //速度
var picWidth = 1280; // 大圖的寬高
var picHeight = 971;
var x,y // 鼠標(biāo)點下去時背景的坐標(biāo)
var x_new,y_new //位移
var haveclick = false;
function getmouseposition(event)
{
if(document.all)
{
x = document.body.scrollLeft+event.clientX;
y = document.body.scrollTop+event.clientY;
}else
{
x = event.layerX;
y = event.layerY;
}
haveclick = true;
}
function movestop()
{
haveclick = false;
}
function movestart(event)
{
if(haveclick)
{
if(document.getElementById('pic').style.backgroundPosition.length==0)
{document.getElementById('pic').style.backgroundPosition="0px 0px";}
p = document.getElementById('pic').style.backgroundPosition.split(" ")
if(document.all)
{
x_new = document.body.scrollLeft+event.clientX;
y_new = document.body.scrollTop+event.clientY;
}else
{
x_new = event.layerX;
y_new = event.layerY;
}
x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10); // 計算位移量
y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
if (x2<-picWidth+420) x2=-picWidth+420;
if (y2>0) y2=0;
if (x2>0) x2=0;
if (y2<-picHeight+300) y2=-picHeight+300;
document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
}
-->
</script>
</head>
<body>
<div id="pic" onmousedown="getmouseposition(event)" onmousemove="movestart(event)" onmouseup="movestop()" onmouseout="movestop()"> </div>
</body>
</html>
您可能感興趣的文章:
- js拖動div 當(dāng)鼠標(biāo)移動時整個div也相應(yīng)的移動
- js實現(xiàn)鼠標(biāo)拖動圖片并兼容IE/FF火狐/谷歌等主流瀏覽器
- 鼠標(biāo)拖動動態(tài)改變表格的寬度的js腳本 兼容ie/firefox
- js 鼠標(biāo)拖動對象 可讓任何div實現(xiàn)拖動效果
- javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法
- javascript實現(xiàn)簡單的鼠標(biāo)拖動效果實例
- JavaScript 實現(xiàn)鼠標(biāo)拖動元素實例代碼
- javascript之鼠標(biāo)拖動位置互換效果代碼
- JS拖動鼠標(biāo)畫出方框?qū)崿F(xiàn)鼠標(biāo)選區(qū)的方法
相關(guān)文章
一文解決微信小程序button、input和image表單組件
在微信小程序開發(fā)中,input?用來實現(xiàn)文本輸入,如輸入用戶名密碼等等,下面這篇文章主要給大家介紹了關(guān)于如何通過一文解決微信小程序button、input和image表單組件的相關(guān)資料,需要的朋友可以參考下2022-08-08js 只能輸入數(shù)字和小數(shù)點的文本框改進(jìn)版
以前的版本不能輸入退格鍵等功能。2009-04-04echarts圖表無數(shù)據(jù)/空數(shù)據(jù)如何展示"暫無數(shù)據(jù)"
在開發(fā)echarts的時候我們不得不考慮數(shù)據(jù)為空的情況,其實有很多種解決辦法,下面這篇文章主要給大家介紹了關(guān)于echarts圖表無數(shù)據(jù)/空數(shù)據(jù)如何展示“暫無數(shù)據(jù)”的相關(guān)資料,需要的朋友可以參考下2022-10-10JavaScript實現(xiàn)解析INI文件內(nèi)容的方法
這篇文章主要介紹了JavaScript實現(xiàn)解析INI文件內(nèi)容的方法,結(jié)合實例形式分析了javascript通過自定義函數(shù)實現(xiàn)針對ini文件解析操作的相關(guān)處理技巧,需要的朋友可以參考下2016-11-11uniapp使用scroll-view實現(xiàn)左右上下滑動功能
最近在用uni-app開發(fā)小程序時,需要用scroll-view做出左右上下滑動效果,所以下面這篇文章主要給大家介紹了關(guān)于uniapp使用scroll-view實現(xiàn)左右上下滑動功能的相關(guān)資料,需要的朋友可以參考下2022-11-11JavaScript中判斷原生函數(shù)檢查function是否是原生代碼
檢查某個function是否是原生代碼,要檢測這一點,最簡單的辦法當(dāng)然是判斷函數(shù)的 toString 方法返回的值2014-09-09