可以直接拿来用的15个jQuery代码片段
jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画、特效,还会提高网站的用户体验。
本文收集了15段非常实用的jQuery代码片段,你可以直接复制黏贴到代码里,但请开发者注意了,要理解代码再使用哦。下面就让我们一起来享受jQuery代码的魅力之处吧。
1.预加载图片
- (function($) {
- var cache = [];
- // Arguments are image paths relative to the current page.
- $.preLoadImages = function() {
- var args_len = arguments.length;
- for (var i = args_len; i--;) {
- var cacheImage = document.createElement('img');
- cacheImage.src = arguments[i];
- cache.push(cacheImage);
- }
- }
- jQuery.preLoadImages("image1.gif", "/path/to/image2.png");
源码
2. 让页面中的每个元素都适合在移动设备上展示
- var scr = document.createElement('script');
- scr.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js');
- document.body.appendChild(scr);
- scr.onload = function(){
- $('div').attr('class', '').attr('id', '').css({
- 'margin' : 0,
- 'padding' : 0,
- 'width': '100%',
- 'clear':'both'
- });
- };
源码
3.图像等比例缩放
- $(window).bind("load", function() {
- // IMAGE RESIZE
- $('#product_cat_list img').each(function() {
- var maxWidth = 120;
- var maxHeight = 120;
- var ratio = 0;
- var width = $(this).width();
- var height = $(this).height();
- if(width > maxWidth){
- ratio = maxWidth / width;
- $(this).css("width", maxWidth);
- $(this).css("height", height * ratio);
- height = height * ratio;
- }
- var width = $(this).width();
- var height = $(this).height();
- if(height > maxHeight){
- ratio = maxHeight / height;
- $(this).css("height", maxHeight);
- $(this).css("width", width * ratio);
- width = width * ratio;
- }
- });
- //$("#contentpage img").show();
- // IMAGE RESIZE
- });
源码
4.返回页面顶部
- // Back To Top
- $(document).ready(function(){
- $('.top').click(function() {
- $(document).scrollTo(0,500);
- });
- });
- //Create a link defined with the class .top
- <a href="#" class="top">Back To Top</a>
源码
5.使用jQuery打造手风琴式的折叠效果
- var accordion = {
- init: function(){
- var $container = $('#accordion');
- $container.find('li:not(:first) .details').hide();
- $container.find('li:first').addClass('active');
- $container.on('click','li a',function(e){
- e.preventDefault();
- var $this = $(this).parents('li');
- if($this.hasClass('active')){
- if($('.details').is(':visible')) {
- $this.find('.details').slideUp();
- } else {
- $this.find('.details').slideDown();
- }
- } else {
- $container.find('li.active .details').slideUp();
- $container.find('li').removeClass('active');
- $this.addClass('active');
- $this.find('.details').slideDown();
- }
- });
- }
- };
6.通过预加载图片廊中的上一幅下一幅图片来模仿Facebook的图片展示方式
- var nextimage = "/images/some-image.jpg";
- $(document).ready(function(){
- window.setTimeout(function(){
- var img = $("").attr("src", nextimage).load(function(){
- //all done
- });
- }, 100);
- });
源码
7.使用jQuery和Ajax自动填充选择框
- $(function(){
- $("select#ctlJob").change(function(){
- $.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
- var options = '';
- for (var i = 0; i < j.length; i++) {
- options += '
- ' + j[i].optionDisplay + '
- ';
- }
- $("select#ctlPerson").html(options);
- })
- })
- })
源码
8.自动替换丢失的图片
- // Safe Snippet
- $("img").error(function () {
- $(this).unbind("error").attr("src", "missing_image.gif");
- });
- // Persistent Snipper
- $("img").error(function () {
- $(this).attr("src", "missing_image.gif");
- });
源码
9.在鼠标悬停时显示淡入/淡出特效
- $(document).ready(function(){
- $(".thumbs img").fadeTo("slow", 0.6);
- // This sets the opacity of the thumbs to fade down to 60% when the page loads
- $(".thumbs img").hover(function(){
- $(this).fadeTo("slow", 1.0);
- // This should set the opacity to 100% on hover
- },function(){
- $(this).fadeTo("slow", 0.6);
- // This should set the opacity back to 60% on mouseout
- });
- });
源码
- function clearForm(form) {
- // iterate over all of the inputs for the form
- // element that was passed in
- $(':input', form).each(function() {
- var type = this.type;
- var tag = this.tagName.toLowerCase();
- // normalize case
- // it's ok to reset the value attr of text inputs,
- // password inputs, and textareas
- if (type == 'text' || type == 'password' || tag == 'textarea')
- this.value = "";
- // checkboxes and radios need to have their checked state cleared
- // but should *not* have their 'value' changed
- else if (type == 'checkbox' || type == 'radio')
- this.checked = false;
- // select elements need to have their 'selectedIndex' property set to -1
- // (this works for both single and multiple select elements)
- else if (tag == 'select')
- this.selectedIndex = -1;
- });
- };
源码
11.预防对表单进行多次提交
- $(document).ready(function() {
- $('form').submit(function() {
- if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
- jQuery.data(this, "disabledOnSubmit", { submited: true });
- $('input[type=submit], input[type=button]', this).each(function() {
- $(this).attr("disabled", "disabled");
- });
- return true;
- }
- else
- {
- return false;
- }
- });
- });
源码
12.动态添加表单元素
- //change event on password1 field to prompt new input
- $('#password1').change(function() {
- //dynamically create new input and insert after password1
- $("#password1").append("");
- });
源码
13.让整个Div可点击
- blah blah blah. link
- The following lines of jQuery will make the entire div clickable: $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; });
源码
14.平衡高度或Div元素
- var maxHeight = 0;
- $("div").each(function(){
- if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
- });
- $("div").height(maxHeight);
源码
15. 在窗口滚动时自动加载内容
- var loading = false;
- $(window).scroll(function(){
- if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
- if(loading == false){
- loading = true;
- $('#loadingbar').css("display","block");
- $.get("load.php?start="+$('#loaded_max').val(), function(loaded){
- $('body').append(loaded);
- $('#loaded_max').val(parseInt($('#loaded_max').val())+50);
- $('#loadingbar').css("display","none");
- loading = false;
- });
- }
- }
- });
- $(document).ready(function() {
- $('#loaded_max').val(50);
- });
转载于:https://www.cnblogs.com/RedRoshan/p/3569164.html
可以直接拿来用的15个jQuery代码片段相关推荐
- SAP PM 初级系列15 - IW33事务代码界面里查看维修工单对应的维修通知单的几个方法
SAP PM 初级系列15 - IW33事务代码界面里查看维修工单对应的维修通知单的几个方法 IW33进入维修工单显示界面,有好几种方法能查看该维修工单对应的前端维修通知单的信息. 1,在Header ...
- 15行Python代码,帮你理解令牌桶算法
在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送. 什么是令牌 从名字上看令牌 ...
- VSCode自定义代码片段15——git命令操作一个完整流程
git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...
- c++实验总结_史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...
本文总结了2012年以来在场景文本检测领域的70篇代表性论文.21个常用数据集.15份开源代码,包含176个实验结果以及超过1300条统计信息.Github资源链接见文末. 一.前言 许多自然场景中包 ...
- 史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...
点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:刘崇宇 转载自:CSIG文档图像分析与识别专委会 本 ...
- 15款jQuery幻灯片插件
幻灯片效果通常用于展示相册图片或特色推荐内容.一个漂亮的幻灯片更能吸引访客的注意力.本文里面,收集了15款jQuery幻灯片插件,让你的图片展示更漂亮,让你的特色内容更吸引人.如果你是WordPres ...
- python ray定时_使用 Ray 用 15 行 Python 代码实现一个参数服务器
使用 Ray 用 15 行 Python 代码实现一个参数服务器 参数服务器是很多机器学习应用的核心部分.其核心作用是存放机器学习模型的参数(如,神经网络的权重)和提供服务将参数传给客户端(客户端通常 ...
- 用SUMIF对超15位的代码进行条件求和,出错了,原因是....
用SUMIF对超15位的代码进行条件求和,出错了,原因是.... 2017-10-29 23:01 一.问题 有读者朋友问: 用SUMIF进行条件求和时,如果统计的条件是超15位的代码,就会出错,比如 ...
- 【script】15行Python代码实现免费发送手机短信推送消息功能(twilio)
实现的功能 通过代码定时给手机推送短信,短信内容可以自定义文字,当然你也可以去别的网站爬取每日心灵鸡汤,天气预报或其它信息进行推送. 本文主要讲如何实现发送短信的功能,全部代码只用15行. 首先贴出实 ...
最新文章
- RHEL/CentOS6.4 x64 VNC服务配置
- Java每天5道面试题,跟我走,offer有!(八)
- 可视化神器背后的奥秘
- 部署Apache服务器
- frida 安装特定版本
- Python3.5-20190501-廖老师的
- 飞鸽应用于企业解决方案
- IIS 5,6,7区别
- 挨批评了!Chrome 对用户隐私保护还不如 IE?
- 探寻 JavaScript 逻辑运算符(与、或)的真谛
- Axure RP 9基础教程(2)——交互样式
- java 生成二维码名片
- python环境下数据操作_数据分析环境搭建和Python基础知识
- 水刺无纺布滤芯详细说明
- 这届618:掀起直播盛世
- ipad无线无法连接到服务器,ipad无法连接无线路由器原因有哪些【解决方法】
- 职场必知的十条“钻石”心态
- R3空间曲线坐标系变换及向量分析
- CoffeeScript语法
- hr看php简历,HR:“有这样的简历,才值得一见!”