js用拖动滑块来控制图片大小的方法


Posted in Javascript onFebruary 27, 2015

本文实例讲述了js用拖动滑块来控制图片大小的方法。分享给大家供大家参考。具体实现方法如下:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<meta http-equiv=Content-Type content="text/html;charset=gb2312">

<title>js拖动滑块控制图片显示大小</title>

<style>

*{margin:0;padding:0;font-size:12px;}

.btn{width:50px;height:15px;cursor:pointer;}

#picViewPanel{margin:5 50 0 50px; width:328px; height:248px;overflow:auto;text-align:center;border:solid 1px #cccccc;}

#slider{margin:0 50px;height:15px;width:328px;border:1px solid #000000;position:relative;}

#sliderLeft{height:13px; width:13px;float:left;border:1px solid #cccccc;cursor:pointer;}

#sliderBlock{height:13px;width:50px;border:1px solid #cccccc;position:absolute;top:0;left:113px;cursor:pointer;background:#cccccc;text-align:center;}

#sliderRight{height:13px;width:13px;float:right;border:1px solid #cccccc;cursor:pointer;}

</style>

</head>

<body>

<div id="picViewPanel"></div>

<div id="slider">

<span id="sliderLeft" ><<</span>

<span id="sliderRight">>></span>

<span id="sliderBlock">==</span>

</div>

</body>

<script>

//golbal

var pv = null;

var sd = null;

window.onload=function(){

pv = new PicView("/images/m01.jpg");

sd = new Slider(

function(p){

document.getElementById("sliderBlock").innerHTML = 2*p +"%";

pv.expand(2*p/100);

},function(){});

}

var PicView = function(url,alt){

this.url=url;

this.obj=null;

this.alt=alt?alt:"";

this.realWidth=null;

this.realHeight=null;

this.zoom=1;

this.init();

}

PicView.prototype.init=function(){

var _img=document.createElement("img");

_img.src = this.url;

_img.alt = this.alt;

_img.style.zoom = this.zoom;

document.getElementById("picViewPanel").appendChild(_img);

this.obj=_img;

this.realWidth=_img.offsetWidth;

this.realHeight=_img.offsetHeight;

}

PicView.prototype.reBind=function(){

this.obj.style.width =  this.realWidth*this.zoom+"px";

this.obj.style.height = this.realHeight*this.zoom+"px";

//this.obj.style.zoom = this.zoom;

}

PicView.prototype.expand=function(n){

this.zoom=n;

this.reBind();

}

var Slider = function(ing,ed){

this.block=document.getElementById("sliderBlock");

this.percent = 0;

this.value = 0;

this.ing = ing;

this.ed = ed;

this.init();

}

Slider.prototype.init=function(){

var _sx=0;

var _cx=0;

var o=this.block;

var me=this;

o.onmousedown=function(e){

var e=window.event||e;

_sx = o.offsetLeft;

_cx = e.clientX-_sx;

document.body.onmousemove=move;

document.body.onmouseup=up;

};

function move(e){

var e=window.event||e;

var pos_x = e.clientX - _cx;

pos_x=pos_x<13?13:pos_x;

pos_x=pos_x>248+15-50?248+15-50:pos_x;

o.style.left =  pos_x+"px";

me.percent=(pos_x-13)/2;

me.ing(me.percent);

}

function up(){

document.body.onmousemove=function(){};

document.body.onmouseup=function(){};

}

}

</script>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript获取当前ip的代码
May 10 Javascript
jQuery html()等方法介绍
Nov 18 Javascript
javascript与cookie 的问题详解
Nov 11 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
Vue slot用法(小结)
Oct 22 Javascript
使用Javascript简单计算器
Nov 17 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
利用layer实现表单完美验证的方法
Sep 26 Javascript
javascript中局部变量和全局变量的区别详解
Feb 27 #Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
Feb 27 #Javascript
JavaScript中Function详解
Feb 27 #Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 #Javascript
js实现鼠标触发图片抖动效果的方法
Feb 27 #Javascript
javascript实现当前页导航激活的方法
Feb 27 #Javascript
jquery 根据name名获取元素的value值
Feb 27 #Javascript
You might like
php json_encode值中大括号与花括号区别
2013/09/30 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
深入理解PHP内核(一)
2015/11/10 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
让您的菜单不离网站
2006/10/03 Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python操作MySQL数据库的方法
2018/06/20 Python
Python中函数参数调用方式分析
2018/08/09 Python
Pandas中resample方法详解
2019/07/02 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
和睦家庭事迹
2014/05/14 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang