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 相关文章推荐
jQuery示例收集
Nov 05 Javascript
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
表单序列化与jq中的serialize使用示例
Feb 21 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
react-router实现按需加载
May 09 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
Element 默认勾选表格 toggleRowSelection的实现
Sep 04 Javascript
vue 更改连接后台的api示例
Nov 11 Javascript
js实现内置计时器
Dec 16 Javascript
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
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
提问的智慧
2006/10/09 PHP
程序员编程十条戒律
2009/07/09 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
php Session存储到Redis的方法
2013/11/04 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
python 合并文件的具体实例
2013/08/08 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python操作excel的方法
2018/08/16 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
python重要函数eval多种用法解析
2020/01/14 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
介绍一下Make? 为什么使用make
2013/12/08 面试题
《第一朵杏花》教学反思
2014/04/16 职场文书
教师业务培训方案
2014/05/01 职场文书
民事辩护词范文
2015/05/21 职场文书
2015团员个人年度总结
2015/11/24 职场文书
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript