千家信息网

jQuery如何实现点击替换图片特效

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关jQuery如何实现点击替换图片特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,起因最近在工作中要实现自定义式的radio样式,而
千家信息网最后更新 2025年02月02日jQuery如何实现点击替换图片特效

这篇文章将为大家详细讲解有关jQuery如何实现点击替换图片特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  1,起因

  最近在工作中要实现自定义式的radio样式,而我们通常使用的时默认的样式,因为自己实在想不到解决的方法,于是开始搜索,最终看到了不错的解决办法,可以完美解决我们遇到的问题。

  2,原理

  大家都知道在写结构的时候,radio或checkbox都会跟随label一起使用,label的for属性值和input的id值相同的情况下,点击label就可以选中input,这里正是利用label 来覆盖我们的input默认样式,通过给label添加背景图片(美化的checkbox或radio),也就是在点击的过程中,我们是看不到默认的input的(给input设置z-index:-1),而点击的是label,通过不同的事件,加载不同的背景图片(这里是改变背景图片的位置)

  3,设置美化checkbox或radio的默认样式

  (1)页面结构

  Which genres do you like?

  Action / Adventure

  Comedy

  Epic / Historical

  Science Fiction

  Romance

  Western

  Caddyshack is the greatest movie of all time, right?

  Totally

  You must be kidding

  What's Caddyshack?

  (2)jquery code(前提必须引入jquery库)

  jQuery.fn.customInput=function(){

  $(this)。each(function(i){

  if($(this)。is('[type=checkbox],[type=radio]')){

  var input=$(this);

  //get the associated label using the input's id

  var label=$('label[for='+input.attr('id')+']');

  //get type,for classname suffix

  var inputType=(input.is('[type=checkbox]')) ? 'checkbox' : 'radio';

  //wrap the input + label in a div

  $('

  //find all inputs in this set using the shared name attribute

  var allInputs=$('input[name='+input.attr('name')+']');

  //necessary for browsers that don't support the :hover pseudo class on labels

  label.hover(function(){

  $(this)。addClass('hover');

  if(inputType=='checkbox' && input.is(':checked')) {

  $(this)。addClass('checkedHover');

  }

  },function(){

  $(this)。removeClass('hover checkedHover');

  });

  //bind custom event, trigger it, bind click,focus,blur events

  input.bind('updateState',function(){

  if(input.is(':checked')){

  if(input.is(':radio')){

  allInputs.each(function(){

  $('label[for='+$(this)。attr('id')+']')。removeClass('checked');

  });

  };

  label.addClass('checked');

  } else {

  label.removeClass('checked checkedHover checkedFocus');

  }

  })

  。trigger('updateState')

  。click(function(){

  $(this)。trigger('updateState');

  })

  。focus(function(){

  label.addClass('focus');

  if(inputType=='checkbox' && input.is(':checked')) {

  $(this)。addClass('checkedFocus');

  }

  })

  。blur(function(){

  label.removeClass('focus checkedFocus');

  });

  }

  });

  }

  引入jquery库,再引入上面的代码后,就可以执行下面的代码

  $('input')。customInput();

  (3)生成的外层div

  如果你的代码结构是label和input成对写的话,那么在它们的外层就会生成一个div

关于"jQuery如何实现点击替换图片特效"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

图片 样式 代码 篇文章 结构 背景 背景图片 特效 不同 不错 外层 更多 面的 生成 实用 相同 也就是 事件 位置 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学校买数据库价格 渗透测试数据库常见列名下载 南开区信息网络技术诚信合作 数据库原理与应用下载 局域网服务器怎么关闭 excl数据库学习 制定《网络安全法》的意义有哪些 软件开发培训大概要多少钱 龙岩网络安全支撑公示 炉石传说服务器干扰链接 服务器损坏别人的坏处 手机软件开发培训课程 剑侠世界3登录找不到以前服务器 渝北区企业网络技术服务活动简介 思无邪下载软件开发 电脑做电影播放服务器 贵阳 软件开发人工成本 网络安全宣传咨询日活动 千星科技网络技术有限公司 怎么做网络安全宣传 普通人的网络技术 数据库导入索引 连接数据库自动生成表单 奥的斯服务器连接主板怎么不显示 网络技术平台搭建员薪资 银行如何做好网络安全工作 我的世界双人服务器 dxp没有安全连接服务器 商丘人才网数据库 佛山哪里有互联网科技园
0