jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画、特效,还会提高网站的用户体验。

本文收集了15段非常实用的jQuery代码片段,你可以直接复制黏贴到代码里,但请开发者注意了,要理解代码再使用哦。下面就让我们一起来享受jQuery代码的魅力之处吧。

1.预加载图片

Js代码
  1. (function($) {
  2. var cache = [];
  3. // Arguments are image paths relative to the current page.
  4. $.preLoadImages = function() {
  5. var args_len = arguments.length;
  6. for (var i = args_len; i--;) {
  7. var cacheImage = document.createElement('img');
  8. cacheImage.src = arguments[i];
  9. cache.push(cacheImage);
  10. }
  11. }
  12. jQuery.preLoadImages("image1.gif", "/path/to/image2.png");

源码

2. 让页面中的每个元素都适合在移动设备上展示

Js代码
  1. var scr = document.createElement('script');
  2. scr.setAttribute('src', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js');
  3. document.body.appendChild(scr);
  4. scr.onload = function(){
  5. $('div').attr('class', '').attr('id', '').css({
  6. 'margin' : 0,
  7. 'padding' : 0,
  8. 'width': '100%',
  9. 'clear':'both'
  10. });
  11. };

源码

3.图像等比例缩放

Js代码
  1. $(window).bind("load", function() {
  2. // IMAGE RESIZE
  3. $('#product_cat_list img').each(function() {
  4. var maxWidth = 120;
  5. var maxHeight = 120;
  6. var ratio = 0;
  7. var width = $(this).width();
  8. var height = $(this).height();
  9. if(width > maxWidth){
  10. ratio = maxWidth / width;
  11. $(this).css("width", maxWidth);
  12. $(this).css("height", height * ratio);
  13. height = height * ratio;
  14. }
  15. var width = $(this).width();
  16. var height = $(this).height();
  17. if(height > maxHeight){
  18. ratio = maxHeight / height;
  19. $(this).css("height", maxHeight);
  20. $(this).css("width", width * ratio);
  21. width = width * ratio;
  22. }
  23. });
  24. //$("#contentpage img").show();
  25. // IMAGE RESIZE
  26. });

源码

4.返回页面顶部

Js代码
  1. // Back To Top
  2. $(document).ready(function(){
  3. $('.top').click(function() {
  4. $(document).scrollTo(0,500);
  5. });
  6. });
  7. //Create a link defined with the class .top
  8. <a href="#" class="top">Back To Top</a>

源码

5.使用jQuery打造手风琴式的折叠效果

Js代码
  1. var accordion = {
  2. init: function(){
  3. var $container = $('#accordion');
  4. $container.find('li:not(:first) .details').hide();
  5. $container.find('li:first').addClass('active');
  6. $container.on('click','li a',function(e){
  7. e.preventDefault();
  8. var $this = $(this).parents('li');
  9. if($this.hasClass('active')){
  10. if($('.details').is(':visible')) {
  11. $this.find('.details').slideUp();
  12. } else {
  13. $this.find('.details').slideDown();
  14. }
  15. } else {
  16. $container.find('li.active .details').slideUp();
  17. $container.find('li').removeClass('active');
  18. $this.addClass('active');
  19. $this.find('.details').slideDown();
  20. }
  21. });
  22. }
  23. };

6.通过预加载图片廊中的上一幅下一幅图片来模仿Facebook的图片展示方式

Js代码
  1. var nextimage = "/images/some-image.jpg";
  2. $(document).ready(function(){
  3. window.setTimeout(function(){
  4. var img = $("").attr("src", nextimage).load(function(){
  5. //all done
  6. });
  7. }, 100);
  8. });

源码

7.使用jQuery和Ajax自动填充选择框

Js代码
  1. $(function(){
  2. $("select#ctlJob").change(function(){
  3. $.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){
  4. var options = '';
  5. for (var i = 0; i < j.length; i++) {
  6. options += '
  7. ' + j[i].optionDisplay + '
  8. ';
  9. }
  10. $("select#ctlPerson").html(options);
  11. })
  12. })
  13. })

源码

8.自动替换丢失的图片

Js代码
  1. // Safe Snippet
  2. $("img").error(function () {
  3. $(this).unbind("error").attr("src", "missing_image.gif");
  4. });
  5. // Persistent Snipper
  6. $("img").error(function () {
  7. $(this).attr("src", "missing_image.gif");
  8. });

源码

9.在鼠标悬停时显示淡入/淡出特效

Js代码
  1. $(document).ready(function(){
  2. $(".thumbs img").fadeTo("slow", 0.6);
  3. // This sets the opacity of the thumbs to fade down to 60% when the page loads
  4. $(".thumbs img").hover(function(){
  5. $(this).fadeTo("slow", 1.0);
  6. // This should set the opacity to 100% on hover
  7. },function(){
  8. $(this).fadeTo("slow", 0.6);
  9. // This should set the opacity back to 60% on mouseout
  10. });
  11. });

源码

10.清空表单数据
Js代码
  1. function clearForm(form) {
  2. // iterate over all of the inputs for the form
  3. // element that was passed in
  4. $(':input', form).each(function() {
  5. var type = this.type;
  6. var tag = this.tagName.toLowerCase();
  7. // normalize case
  8. // it's ok to reset the value attr of text inputs,
  9. // password inputs, and textareas
  10. if (type == 'text' || type == 'password' || tag == 'textarea')
  11. this.value = "";
  12. // checkboxes and radios need to have their checked state cleared
  13. // but should *not* have their 'value' changed
  14. else if (type == 'checkbox' || type == 'radio')
  15. this.checked = false;
  16. // select elements need to have their 'selectedIndex' property set to -1
  17. // (this works for both single and multiple select elements)
  18. else if (tag == 'select')
  19. this.selectedIndex = -1;
  20. });
  21. };

源码

11.预防对表单进行多次提交

Js代码
  1. $(document).ready(function() {
  2. $('form').submit(function() {
  3. if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
  4. jQuery.data(this, "disabledOnSubmit", { submited: true });
  5. $('input[type=submit], input[type=button]', this).each(function() {
  6. $(this).attr("disabled", "disabled");
  7. });
  8. return true;
  9. }
  10. else
  11. {
  12. return false;
  13. }
  14. });
  15. });

源码

12.动态添加表单元素

Js代码
  1. //change event on password1 field to prompt new input
  2. $('#password1').change(function() {
  3. //dynamically create new input and insert after password1
  4. $("#password1").append("");
  5. });

源码

13.让整个Div可点击

Js代码
  1. blah blah blah. link
  2. 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元素

Js代码
  1. var maxHeight = 0;
  2. $("div").each(function(){
  3. if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
  4. });
  5. $("div").height(maxHeight);

源码

15. 在窗口滚动时自动加载内容

Js代码
  1. var loading = false;
  2. $(window).scroll(function(){
  3. if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
  4. if(loading == false){
  5. loading = true;
  6. $('#loadingbar').css("display","block");
  7. $.get("load.php?start="+$('#loaded_max').val(), function(loaded){
  8. $('body').append(loaded);
  9. $('#loaded_max').val(parseInt($('#loaded_max').val())+50);
  10. $('#loadingbar').css("display","none");
  11. loading = false;
  12. });
  13. }
  14. }
  15. });
  16. $(document).ready(function() {
  17. $('#loaded_max').val(50);
  18. });

转载于:https://www.cnblogs.com/RedRoshan/p/3569164.html

可以直接拿来用的15个jQuery代码片段相关推荐

  1. SAP PM 初级系列15 - IW33事务代码界面里查看维修工单对应的维修通知单的几个方法

    SAP PM 初级系列15 - IW33事务代码界面里查看维修工单对应的维修通知单的几个方法 IW33进入维修工单显示界面,有好几种方法能查看该维修工单对应的前端维修通知单的信息. 1,在Header ...

  2. 15行Python代码,帮你理解令牌桶算法

    在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送. 什么是令牌 从名字上看令牌 ...

  3. VSCode自定义代码片段15——git命令操作一个完整流程

    git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...

  4. c++实验总结_史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...

    本文总结了2012年以来在场景文本检测领域的70篇代表性论文.21个常用数据集.15份开源代码,包含176个实验结果以及超过1300条统计信息.Github资源链接见文末. 一.前言 许多自然场景中包 ...

  5. 史上最全场景文字检测资源合集(70篇重要论文 + 15个开源代码 + 176个实验结果 + 1305个统计信息)...

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:刘崇宇 转载自:CSIG文档图像分析与识别专委会 本 ...

  6. 15款jQuery幻灯片插件

    幻灯片效果通常用于展示相册图片或特色推荐内容.一个漂亮的幻灯片更能吸引访客的注意力.本文里面,收集了15款jQuery幻灯片插件,让你的图片展示更漂亮,让你的特色内容更吸引人.如果你是WordPres ...

  7. python ray定时_使用 Ray 用 15 行 Python 代码实现一个参数服务器

    使用 Ray 用 15 行 Python 代码实现一个参数服务器 参数服务器是很多机器学习应用的核心部分.其核心作用是存放机器学习模型的参数(如,神经网络的权重)和提供服务将参数传给客户端(客户端通常 ...

  8. 用SUMIF对超15位的代码进行条件求和,出错了,原因是....

    用SUMIF对超15位的代码进行条件求和,出错了,原因是.... 2017-10-29 23:01 一.问题 有读者朋友问: 用SUMIF进行条件求和时,如果统计的条件是超15位的代码,就会出错,比如 ...

  9. 【script】15行Python代码实现免费发送手机短信推送消息功能(twilio)

    实现的功能 通过代码定时给手机推送短信,短信内容可以自定义文字,当然你也可以去别的网站爬取每日心灵鸡汤,天气预报或其它信息进行推送. 本文主要讲如何实现发送短信的功能,全部代码只用15行. 首先贴出实 ...

最新文章

  1. RHEL/CentOS6.4 x64 VNC服务配置
  2. Java每天5道面试题,跟我走,offer有!(八)
  3. 可视化神器背后的奥秘
  4. 部署Apache服务器
  5. frida 安装特定版本
  6. Python3.5-20190501-廖老师的
  7. 飞鸽应用于企业解决方案
  8. IIS 5,6,7区别
  9. 挨批评了!Chrome 对用户隐私保护还不如 IE?
  10. 探寻 JavaScript 逻辑运算符(与、或)的真谛
  11. Axure RP 9基础教程(2)——交互样式
  12. java 生成二维码名片
  13. python环境下数据操作_数据分析环境搭建和Python基础知识
  14. 水刺无纺布滤芯详细说明
  15. 这届618:掀起直播盛世
  16. ipad无线无法连接到服务器,ipad无法连接无线路由器原因有哪些【解决方法】
  17. 职场必知的十条“钻石”心态
  18. R3空间曲线坐标系变换及向量分析
  19. CoffeeScript语法
  20. hr看php简历,HR:“有这样的简历,才值得一见!”

热门文章

  1. xubuntu19.10碰到initramfs终极解决方案
  2. N551JM集显和独显切换
  3. C++自定义自适应中值滤波
  4. linux随机自启命令,linux设置开机自启动
  5. 路飞学城-python爬虫密训-第三章
  6. 必须学会使用的35个Jquery小技巧
  7. 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》—— 第1章 Python的创建型设计模式...
  8. Exchange端口列表
  9. Fastreport.Net用户手册:报表对象
  10. 记录一次centos的双网卡绑定