需要准备的材料分别有:电脑、浏览器、html器。
1、首先,打开html器,新建html文件,例如:index.html。
2、在index.html中的《body》标签中,输入html代码(其中icon.png是放大镜图标):。
《div》
《input type=“text“ /》
《img style=“width: 20px;position: absolute;left: 140px;top: 15px;“ src=“icon.png“ /》
《/div》
3、浏览器运行index.html页面,此时输入框右边添加了放大镜。
《script src=“http://libs.baidu.com/jquery/2.0.0/jquery.min.js“》《/script》《!--引入jquery库--》 《style》 * {margin:0;padding:0;} .parentCls {margin:0;position:relative;} .inputElem {height:24px; border:1px solid #ddd; outline:none; } #fixval {position:absolute; top:-35px; left:0; display:none; border:1px solid #ddd; background:#fff; font-size:18px; font-weight:bold; color:#F60; padding:5px; } 《/style》 《div style=“height:50px;“》《/div》《div class=“parentCls“》《input type=“text“ class=“inputElem“ autocomplete = “off“ maxlength=“18“/》《div id=“fixval“》《/div》《/div》《script》$(function(){$(“.inputElem“).keyup(function(event){var txt = $(this).val();var keyCode = event.which;if ( txt.length《=0 ) {$(“#fixval“).hide();}else{if ( $.isNumeric(txt) !== true || keyCode==32 ){//判断输入类型,并去除空格$(this).val( txt.slice(0,-1) ); //截掉非数字和空格return false;}var re=/(?=(?!\b)(\d{3})+$)/g; //分割数字 1,000txt = txt.replace(re,“,“);$(“#fixval“).html(txt).show();}});});《/script》
你是想要那种放大效果一种是:在图片的右边显示放大效果一种是:弹出层显示放大效果请问你是要哪种
对需要禁用的div或者body设置下面样式-webkit-user-select: none;
对大图设置z-index,让大图的z-index大于文字的z-index就行了,文字的z-index应该是0。
找到放大镜的js,并在jquery代码下添加这行jQuery.noConflict();此外,magento有很多放大镜的插件,一般都是集成好的。有问题继续追问吧
淘宝图片有放大镜特效是对于商品主图来说。只要在发布宝贝时把商品主图的尺寸设置在700X700或者以上,主图图片就会有放大镜特效:
当鼠标放在主图片某一个位置上,主图右侧即显示出鼠标所在位置的放大图。
制作图片的放大效果我考虑到的方法是将原始图片绘制到canvas上,然后在对canvas进行局部裁剪最后对裁剪的部分进行放大,这样就可以实现放大镜的效果。
这里我给出一个实现这个想法的示例。该示例实际上就是运用HTML5 canvas中对画布进行裁剪与保存画布状态的相关知识实现的。
上面是给出示例的效果图。这是不是你想要的放大镜效果呢?
下面我们来看下示例代码:在这个示例中当你点击图片时图片就会出现上图效果,再一次点击时就变成原始图片了。
《!DOCTYPE html》
《html》
《head》
《meta charset=“utf-8“》
《title》放大镜《/title》
《!—HTML代码设计:一个简单的canvas元素--》
《/head》
《body》
《div id=“result-stub“ class=“well hidden“》
《canvas id=“canvas“ width=“345“ height=“345“》
《p》你的浏览器不支持canvas元素《/p》
《/canvas》
《/div》
《script》
window.onload=function() {
//获取canvas对象以及图片对象
var
canvas = document.getElementById(’canvas’),
img = new Image(),
context = null,
dataUrl = null,
//设置一个标记,该标记的作用是控制我们点击canvas时放大镜效果的消失和出现
isMagnified = false,
//init函数只要是在图片加载时绘制出图形
init = function() {
img.onload = function() {
//绘制原始图片
context.drawImage(img, 0, 0);
//将图片信息转化为二进制信息或者URL信息存储在dataUrl中方便后面调用
dataUrl = canvas.toDataURL();
}
img.src = ’fist-pump-baby.jpg’;
//设置标记值
isMagnified = false;
},
//magnify函数的作用是绘制具有放大镜效果的图形
magnify = function() {
//保存当前画布的绘制状态即画布绘制原始图片的状态。方便我们在后面恢复到绘制原始图片的状态
context.save();
//因为放大镜的圆圈和把手是通过canvas绘制的这里设置了一些绘制把手和圆圈的样式属性。
context.lineWidth = 10;// 线条宽度
context.shadowColor = ’#000’;// 阴影的颜色黑色
context.shadowBlur = 15;// 模糊级别为15
context.shadowOffsetX = 5;// 形状与阴影的水平距离5
context.shadowOffsetY = 5;// 形状与阴影的垂直距离5
//保存画布当前状态即我们设置阴影属性后的状态方便后面使用
context.save();
//绘制出放大镜把手的图形
context.beginPath();
context.moveTo(230, 230);
context.lineCap = ’round’;
context.lineWidth = 30;
context.lineTo(285, 285);
context.stroke();
//对图片进行裁剪,裁剪出的图形是一个圆形。
context.beginPath();
context.arc(
150,
150,
115,
0,
Math.PI * 2,
true);
context.clip();
//创建一个新的Image对象,这个Image对象的图片资源是前面存储在dataUrl中的图片资源。所以这个Image对象和之前初始化的Image对象是完全一样的。
var magnified = new Image();
magnified.src = dataUrl;
//对Image对象进行放大1.5倍,并进行绘制。注意此时的画布状态时裁剪为一个圆形的状态,所以这里绘制的也仅仅是图片中的一个圆形区域。这里为了绘制出图片中娃娃的脸设置了绘制的图片有一定的偏移量。
context.scale(1.5, 1.5);
context.drawImage(img, -40, -40);
//调用restore()函数将画布状态恢复到绘制把放大镜把手时的状态,即具有阴影属性
context.restore();
//绘制放大镜的圆圈,即绘制刚刚我们裁剪出来图片的边框。这样刚刚裁剪出来的圆形图形就会正好处于放大镜的圆圈中。
context.arc(
150,
150,
115,
0,
Math.PI * 2,
true);
context.stroke();
//重置画布,将画布恢复到绘制元素图片的状态,以方便绘制出放大效果后,再次点击是绘制原始图片。
context.restore();
//设置标记值,实现点击后放大效果消失。
isMagnified = true;
};
//加载初始化代码,即当运行页面时会在页面绘制出一个原始图像
init();
//监听画布的点击事件,当点击页面的图像时会根据标记的值来进行判断是否对画布进行方大处理
$(’canvas’).click(function() {
if (isMagnified) {
init();//绘制原始图像
}
else {
magnify();//绘制放大的图像
}
});
}
《/script》
《script src=“jquery.js“》《/script》
《/body》
《/html》
对于这些知识在一个叫秒秒学的教程网站上有相关的学习资料,有兴趣的可以自己去看看,希望对你有帮助。
这不是一个文本框,其实是一个div只有中间部分是文本框,用css样式控制实现这种效果,打开看一下源码就知道是怎么回事