本特效效果模仿百度图片效果。效果图如下:打开页面效果
鼠标放上去0.15秒,放大的层从小到大展开
鼠标移开后,弹出层消失
。页面代码如下:
html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,a,font,img,strong,dl,dt,dd,ol,ul,li,fieldset,form,label ,legend{margin:0;padding:0;}
a{ color:#fff; text-decoration:none;}
a img{ border:none;}
li{ list-style-type:none;}
body{ background:#000; color:#fff; font-size:12px; font:Arial,Verdana,"宋体"}
.wrapper{ overflow:hidden; width:1130px; margin:0 auto;}
.header{ overflow:hidden; padding:20px 0 50px;}
.main{ width:1000px; margin:0 auto 30px; overflow:hidden;}
#detial{ overflow:hidden; width:750px; padding-top:20px;}
.shopPic{ overflow:hidden; width:720px; float:right;}
.shopPic a{ float:left; display:inline-block;}
.detialItem{ overflow:hidden; margin-bottom:5px; width:720px;}
.itemTop{ overflow:hidden; line-height:40px; border-bottom:1px solid #fff; margin-bottom:20px;}
.itemTop h2{ float:left; margin-left:10px;}
.more{ float:right; background:#fff; color:#333; display:block; height:20px; line-height:20px; width:50px; text-align:center; margin-top:12px; margin-right:10px; font-family:'微软雅黑';}
.more:hover{ text-decoration:underline;}
.itemIfor{ float:left; width:150px; float:left; margin-left:23px;}
.picTitle{ font-size:14px; font-weight:bold; color:#A0BC1D; line-height:30px; padding:0 5px;} .itemIfor p{ padding:0 5px; line-height:20px;}
.popup{width:300px; height:380px; background-color:#fff; border:solid 1px #ccc;}
#tempdiv{ overflow:hidden; display:none;position:absolute;}
var popupdiv={
init:function(){//初始化
$this = this;//保存本对象
$("#detial .itemIfor").each(function(i){
var children = $(this).children();
var itemobj = new Object();
itemobj.href = $(children[0]).attr("href");//获取链接
itemobj.productName = $(children[1]).text();//获取产品名称
itemobj.price = $(children[2]).text();//获取价格
$(children[0]).find("img").mouseenter(function(){//给所有图片添加鼠标进入事件
var template = $("#template").html();//获取模板
//替换模板内容
template = $this.setValue(template,/Thref/g,itemobj.href);
template = $this.setValue(template,/TprdName/g,itemobj.productName);
template = $this.setValue(template,/Tprice/g,itemobj.price);
template = $this.setValue(template,/Timg/g,$(this).attr("src"));
var htmlobj = new Object();
htmlobj.html = template;
htmlobj.offset = $(this).position();//获取图片精确位置
htmlobj.width = $(this).outerWidth();//获取图片宽度
htmlobj.height = $(this).outerHeight();//获取图片高度
$this.createPopup(htmlobj);//创建div
}).mouseleave(function(){clearTimeout($this.poptimmer);});//鼠标移除图片时清除定时器,以避免鼠标移出了图片还弹出效果图
});
},
setValue:function(template,reg,value){
return template.replace(reg,value);
},
createPopup:function(opts){
var div = "
if($("#tempdiv").html()!=null)
$("#tempdiv").remove();
$("body").append(div);
//设置定时器
this.poptimmer = setTimeout(function(){
$("#tempdiv").css({width:opts.width+"px",height:opts.height+"px",left:opts.offset.left+"px",t op:opts.offset.top+"px"}).show();
var children = $("#tempdiv").children();
//计算放大图的实际大小
var innerWidth = $(children[0]).outerWidth();
var innerHeight = $(children[0]).outerHeight();
//计算放大图的左顶点位置
var diff = innerWidth - opts.width;
var newTop = opts.offset.top - diff/2;
var newLeft = opts.offset.left - diff/2;
$("#tempdiv").animate({
width:innerWidth+"px",
height:innerHeight+"px",
left:newLeft+"px",
top:newTop+"px"
},{duration:150,step:function(){
//执行动画的时候每一步都改变图片大小
$(this).find("img").attr({width:$(this).outerWidth(),height:$(this).outerWidth()});
}
});//animate end
},500);//setTimeout end
$("#tempdiv").mouseleave(function(){
$(this).stop().html("").remove();
});
},
poptimmer:null//定时器
}
popupdiv.init();
图片和jquery插件请放在demo_file 文件夹中:
鼠标点击按钮图片切换+自动切换+左右按钮点击切换效果 上一次在我的文库中分享了点击按钮,图片左右切换轮播效果代码,今天主要是分享【鼠标点击按钮,图片进行切换+图片自动切换+点击左右按钮图片进行切换的三种效果的组合代码】。 最后的效果如下: Html代码部分:
Css代码部分: *{margin:0px;padding:0px}
实现javascript打印功能,打印整个页面就很简单,但如果指定打印某一个区域就有点难点,这里有一个jQuery插件PrintArea可实现打印页面某区域功能。 使用说明 需要使用jQuery库文件和PrintArea库文件 使用方法 一,包含文件部分 1. 2. 二,html部分 1.
2.实验七jQuery实现轮换广告 一、实验目的 1. 掌握jQuery对象的获取及使用; 2. 掌握jQuery事件的使用; 3. 了解jQuery的用途。 二、实验内容 1. 使用jQuery实现图片的自动播放效果; 2. 使用jQuery实现点击导航播放相应的图片。 三、实验步骤 本实验使用到的相关样式设置代码提供如下: * { margin: 0; padding: 0; } body { font: 12px; padding-top: 50px; padding-right: 200px; padding-bottom: 100px; padding-left: 200px; } ul { list-style: none; } img { padding: 2px; border: 1px solid #eee; } #imgs { width: 410px; margin-right: auto; margin-left: auto; } .top, .btm { overflow: hidden; }
.top { background-position: 0 0; height: 5px; } .btm { height: 7px; } .mid { width: 400px; padding: 5px 7px 0; border: 1px solid #999; } .mid ul { width: 400px; height: 600px; background: #fff; position: relative; overflow: hidden; } .mid ul li { width: 400px; height: 600px; position: absolute; left: 490px; top: 0; } .mid ul li.first { left: 0; } #img_list { width: 486px; height: 20px; padding-top: 5px; overflow: hidden; height: 1%; } 图片及层布局参考代码如下:
https://www.sodocs.net/doc/434537214.html, web前端培训教程:jQuery插件库 插件(Plugin)也成为jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序。目前jQuery 插件已超过几千种,由来自世界各地的开发者共同编写、验证和完善。而对于jQuery 开发者而言,直接使用这些插件将快速稳定架构系统,节约项目成本。 一.插件概述 插件是以jQuery 的核心代码为基础,编写出复合一定规范的应用程序。也就是说,插件也是jQuery 代码,通过js 文件引入的方式植入即可。 插件的种类很多,主要大致可以分为:UI 类、表单及验证类、输入类、特效类、Ajax 类、滑动类、图形图像类、导航类、综合工具类、动画类等等。 引入插件是需要一定步骤的,基本如下: 1.必须先引入jquery.js 文件,而且在所有插件之前引入; 2.引入插件;
https://www.sodocs.net/doc/434537214.html, 3.引入插件的周边,比如皮肤、中文包等。 二.验证插件 Validate.js 是jQuery 比较优秀的表单验证插件之一。这个插件有两个js 文件,一个是主文件,一个是中文包文件。使用的时候,可以使用min 版本;在这里,为了教学,我们未压缩版本。 验证插件包含的两个文件分别为:jquery.validate.js 和 jquery.validate.messages_zh.js。 //HTML 内容
//jQuery 代码 $(function () {Html网页显示js轮播图
JavaScript jQuery 插件开发 jQuery 插件开发其实很简单 jQuery已经被广泛使用,凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,我在社区也发布了很多的jQuery插件 经常有人询问一些技巧,因此干脆写这么一篇文章给各位jQuery爱好者,算是抛砖引玉吧。 【基础】 a)样式 很多人会认为样式是个很复杂的东西,需要沉着冷静的心态加上非凡的审美观才能设计出赏心悦目的UI,抛开图片设计不说,其实css也就是那么些属性:position,margin,paddi ng,width,height,left,top,float,border,background... UI设计的漂亮与否在很大程度上依赖于设计人员对配色的把握和整体效果的协调。举个简单的例子,一个简单的页面,马虎的人: 复制代码代码如下:
细心的人: 复制代码代码如下:
希望这个帮助文档能对jQuery插件的学习有所帮助 jqGrid包说明: jquery.js is the jQuery library, jquery.jqGrid.js主单元,包含的功能取决您的选择 grid.basic.js主插件其他插件包依赖于该插件正常运行 grid.custom.js Grid高级插件功能包 grid.formedit.js用于表格编辑、增加、删除功能 grid.inlinedit.js线条编辑 grid.subgrid.js一个处理表格的插件 grid.postext.js一个可以用来操作post数据的包 jqModal.js模态对话框的编辑 jqDnR.js可拖拉的表格编辑 themes包含gird需要的样式表 一、功能描述: jqGrid包主要用于将需要展示的数据动态的展示在页面的上,即动态画出表格,并封装了增、删、改、查、分类显示、在线编辑修改等功能。 二、关键使用说明: 1、导入jqGrid包,在首页属性里面添加如下包的信息 注:由于加载js包会耗费大量资源,建议动态加载这些js包,优化页面初始化效率。 2、在页面上需要添加表格的地方,增加
list表格id,pager为表格导航条id
Html、js图片轮播代码 现在基本上每个网站都有一个自动轮播的banner广告图,在没有任何按钮的情况下,图片在规定的时间内进行自动切换。下面是html、js 图片轮播代码详情。 代码效果图实例: 第一秒: 第二秒:
第三秒: 详细代码如下:Html代码部分:
Css代码部分: Javascript代码部分: 一、直接使用构造的json数据来实现 然后当然是写js代码了,首先来个稍微简单点的,最后的一个列子讲解如何从数据库中提取数据来实现这个效果(实际上都差不多)
JQuery插件教程.txt我很想知道,多少人分开了,还是深爱着。ゝ自己哭自己笑自己看着自己闹。你用隐身来躲避我丶我用隐身来成全你!待到一日权在手,杀尽天下负我狗。jQuery 插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。 1、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展: 1.1 添加一个新的全局函数 添加一个全局函数,我们只需如下定义: jQuery.foo = function() { alert('This is a test. This is only a test.'); }; 调用的时候可以这样写:jQuery.foo(); 或$.foo(); 1.2 增加多个全局函数 添加多个全局函数,可采用如下定义: jQuery.foo = function() { alert('This is a test. This is only a test.'); }; jQuery.bar = function(param) { alert('This function takes a parameter, which is "' + param + '".'); }; 调用时和一个函数的一样的:jQuery.foo(); jQuery.bar(); 或者$.foo(); $.bar('bar'); 1.3 使用jQuery.extend(object); jQuery.extend({ foo: function() { alert('This is a test. This is only a test.'); }, bar: function(param) { alert('This function takes a parameter, which is "' + param +'".'); } }); 调用时和一个函数的一样的:jQuery.foo(); jQuery.bar(); 或者$.foo(); $.bar('bar'); 1.4 使用命名空间 虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名,通过
50多个强大的jQuery插件应用实例 原文:50+ Amazing Jquery Examples- Part1 jquery是近段时间里比较流行的一个javascript框架,不断有使用者开发出新的 jQuery插件。下面收集了50个开发者最喜欢使用的jQuery插件。这仅仅是第一个系列,你先品尝,第二道大餐即将到来。 Sliding Panels -滑动门控制 1 Sliding Panels For jQuery -元素可以展开或关闭,创建出手风琴的滑动效果。 (2 jQuery Collapse-这个jQuery插件同样点击后滑动展开或关闭DIV层。 Menu -菜单 3 LavaLamp (4 A Navigation Menu- 锚链接的无序列表嵌套, 可以添加2级菜单
(5 SuckerFish Style Tabs –选项卡 6 jQuery UI Tabs / Tabs 3–基于 jQuery 的一个Tab选项卡导航 (7 TabContainer Theme–当用户在选项卡之间进行切换时,产生JQuery风格的淡出动效果。 Accordion-手风琴效果 8 jQuery Accordion Demo (9 Simple JQuery Accordion menu
SlideShows -幻灯片 10 jQZoom-让你在你的网页上很简单的实现图片的缩放功能。 (11 Image/Photo Gallery Viewer- 一个图像/相片的画廊展示插件。可以让你对图片进行分组、并产生像Flash一样的多种浏览特效。 Transition Effects –过渡特效 12 InnerFade –可以让网页中的任何元素产生淡化效果 (13 Easing Plugin-另外一个简单的过渡效果插件 (14 Highlight Fade (15 jQuery Cycle Plugin- 拥有多种过渡效果的一个Gallery插件。
超级漂亮的jQuery 焦点图广告轮播特效插件jCarousel 来源:原创 作者:JS 代码网 时间:2014-04-15 访问: 下载次数: 超级漂亮的jQuery 焦点图广告轮播特效插件jCarousel ,很棒的jQuery 插件,支持带缩略图左右切换, 支持Ajax 加载数据,响应式布局,支持移动端触屏,强大的API 参数配置功能以及函数回调功能,支 持自定义动画速度和动画模式,支持轮播方向定义,还是很不错的,推荐学习和使用。 使用方法: 1.加载jQuery 和插件 1 2 3 2.HTML 内容 01
3.函数调用 view source本文由我司收集整编,推荐下载,如有疑问,请与我司联系 jQuery 多图上传插件imgUp.js 2017/08/07 0 开发环境:idea mysql 效果: 前台步骤如下: 1)首先导入imgPlugin.js 注:实际项目中使用的时候只需要引用:imgPlugin.js 这个就可以了,因为这 个是对imgUp.js 的封装 script type= text/javascript src= ../style-wechat/js/imgPlugin.js /script 2)在页面中加入它需要的js script type= text/javascript var imgUrls= ; $( #file ).takungaeImgup({ formData: { name : file }, url: 192.168.1.109:8080/imgUp , success: function(data) { imgUrls =data.url , ; }, error: function(err) { alert(err); } }); function addComm(){ jQuery.ajax({ url: /addComment.action , type: ‘POST’,data: {‘imageUrls’:imgUrls}, dataType: ‘json’, success: function (data) { alert( 发布成功); } }) } /script 3)在页面 中代码添加内容div > section > div > section > img src= ../../style- wechat/images/a11.png > input type= file name= file id= file > /section /div /section /div aside > div > p > p > /div /aside 后台接受图片代码: tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
前端编程提高之旅(二)----网站常见特效的jquery 实现 时间 2014-08-09 23:11:11 CSDN博客原 文https://www.sodocs.net/doc/434537214.html,/yingyiledi/article/details/38460189 最好的编程语言是逻辑,前端各种交互特效的实现多可以用jquery实现,特效可以纷飞,内在逻辑则基本不变。这一篇文章主要介绍jquery实现常见特效背后的逻辑。 1.通过类名获取元素集合 首先来看一个js原生代码不支持的方法,通过类来获取元素集合。document.getElementsByClassName=function(classname){ var retnode = []; var myclass = new RegExp('\\b'+classname+'\\b');//匹配类名 var elem = this.getElementsByTagName('*');//得到所有元素 for (var j = 0; j < elem.length; j++) { var classes = elem[j].className; if (myclass.test(classes)){ retnode.push(elem[j]); } } return retnode; }//通过遍历整个文档元素类名,返回所有指定类名的数组
逻辑思路: 通过构造一个类名的正则表达式,选取所有标签,并通过正则表达式与所有标签类名属性进行匹配,从而返回一个类名数组,实现通过类名得到元素集合的目标。 实现这个方法的同时,也给在不使用jquery的情况下,选取特定序数的元素提供了便利。 2.二级联动菜单的构造 $("#select1").change( function() { //侦测一级菜单的change事件 var id = $("#select1").val(); if(id == 1){ //通过id判断二级菜单 $.get('index.php', null, function(data){ //get方式传值 $("span").empty(); //清空标签 $("span").append(""); //填充对应的二级菜单 }); }else{ $.get('index.php', null, function(data){ //get方式传值 $("span").empty(); //清空标签 $("span").append(""); //填充对应的二级菜单 }); } });
jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery 的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。 1、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展: 1.1 添加一个新的全局函数 添加一个全局函数,我们只需如下定义: Javascript代码 1jQuery.foo = function() { 2alert('This is a test. This is only a test.'); 3}; 1.2 增加多个全局函数 添加多个全局函数,可采用如下定义: Javascript代码 4jQuery.foo = function() { 5alert('This is a test. This is only a test.'); 6}; 7jQuery.bar = function(param) { 8alert('This function takes a parameter, which is "' + param + '".'); 9}; 10调用时和一个函数的一样的:jQuery.foo();jQuery.bar();或者$.foo();$.bar('bar'); 1.3 使用jQuery.extend(object); Javascript代码 11jQuery.extend({