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 相关文章推荐
jqPlot 基于jquery的画图插件
Apr 26 Javascript
js 链式延迟执行DOME
Jan 04 Javascript
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
js 绑定键盘鼠标事件示例代码
Feb 12 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
jQuery导航条固定定位效果实例代码
May 26 jQuery
浅析从vue源码看观察者模式
Jan 29 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 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
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
python 内置模块详解
2019/01/01 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python中几种自动微分库解析
2019/08/29 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python 命名规范知识点汇总
2020/02/14 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
视光学专业毕业生推荐信
2013/10/28 职场文书
健康家庭事迹材料
2014/05/02 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
小学生运动会广播
2015/08/19 职场文书
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB