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 Serializer序列化时间处理示例
Jul 31 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
原生js和jquery实现图片轮播特效
Apr 23 Javascript
直接拿来用的页面跳转进度条JS实现
Jan 06 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
Mar 31 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
JavaScript实现自动切换图片代码
Oct 11 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
js实现随机圆与矩形功能
Oct 29 Javascript
原生JS实现拖拽效果
Dec 04 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
Session保存到数据库的php类分享
2011/10/24 PHP
php分页示例分享
2014/04/30 PHP
php常用文件操作函数汇总
2014/11/22 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
JS实现轮播图效果
2020/01/11 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
详解Python中的文本处理
2015/04/11 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
python八皇后问题的解决方法
2018/09/27 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
python实现人脸签到系统
2020/04/13 Python
Python unittest框架操作实例解析
2020/04/13 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
电脑教师的教学自我评价
2013/11/26 职场文书
文明教师事迹材料
2014/01/16 职场文书
大学生创业事迹材料
2014/12/30 职场文书
公司员工手册范本
2015/05/14 职场文书
自信主题班会
2015/08/14 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
技术转让协议书
2016/03/19 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
教你nginx跳转配置的四种方式
2022/07/07 Servers