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 相关文章推荐
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
Aug 28 Javascript
JS常见问题整理(持续更新)
Aug 06 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
JS动态改变浏览器标题的方法
Apr 06 Javascript
Web程序员必备的7个JavaScript函数
Jun 14 Javascript
JavaScript实现刷新不重记的倒计时
Aug 10 Javascript
js实现String.Fomat的实例代码
Sep 02 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
ES6新特性四:变量的解构赋值实例
Apr 21 Javascript
深入理解Angularjs 脏值检测
Oct 12 Javascript
vue 检测用户上传图片宽高的方法
Feb 06 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 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函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
jquery 3D球状导航的文章分类
2010/07/06 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
Python实现遍历数据库并获取key的值
2015/05/17 Python
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
python实现画循环圆
2019/11/23 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python实现汇率转换操作
2020/05/03 Python
护理专科自荐书范文
2014/02/18 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python