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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
Android中的jQuery:AQuery简介
May 06 Javascript
require简单实现单页应用程序(SPA)
Jul 12 Javascript
深入浅析knockout源码分析之订阅
Jul 12 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
Apr 19 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
Jan 12 Javascript
JS实现联想、自动补齐国家或地区名称的功能
Jul 07 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
Jul 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
JavaScript运算符小结
2015/06/03 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python实现log日志的示例代码
2018/04/28 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
详解python算法常用技巧与内置库
2020/10/17 Python
用python制作个音乐下载器
2021/01/30 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
JAVA软件工程师测试题
2014/07/25 面试题
迟到检讨书5000字
2014/01/31 职场文书
感恩节活动策划方案
2014/05/16 职场文书
数据保密承诺书
2014/06/03 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
PHP使用QR Code生成二维码实例
2021/07/07 PHP
Go语言基础map用法及示例详解
2021/11/17 Golang