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判断窗口是否最小化的代码(跨浏览器)
Aug 01 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
May 27 Javascript
用javascript读取xml文件读取节点数据
Aug 12 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
Jun 04 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
jquery获取easyui日期控件的值实现方法
Nov 09 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 Javascript
JS前端轻量fabric.js系列之画布初始化
Aug 05 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
php mail to 配置详解
2014/01/16 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
js中的string.format函数代码
2020/08/11 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
Shell编程面试题
2012/05/30 面试题
机电一体化毕业生求职信
2013/11/02 职场文书
妇科医生自荐信
2013/11/05 职场文书
女儿十岁生日答谢词
2014/01/27 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
收入证明范本
2015/06/12 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers