javascript - 单击时,将搜索图标更改为关闭图标

标签 javascript jquery

我在after类后设置了一个搜索图标:

a.mkhb-textbox-el__link:after {
    width: 23.2px;
    float: right;
    background-color: #38445d;
    content: '';
    -webkit-mask: url(/wp-content/uploads/2018/07/search.svg) no-repeat 50% 50%;
    mask: url(/wp-content/uploads/2018/07/search.svg) no-repeat 50% 50%;
    cursor: pointer;
    margin-right: 30px;
    vertical-align: -50px !important;
    height: 57px;
}

点击后会显示搜索输入部分:

$(document).on("click", ".mkhb-textbox-el__link", function() {

     $( ".search-section" ).slideDown("500" , function() {

     });

  });

在调用on click函数时,是否可以将search.svg更改为close.svg

最佳答案

您可以使用单独的类控制 mask 属性,并在需要时删除/添加它:

a.mkhb-textbox-el__link:after {
  width: 23.2px;
  float: right;
  background-color: #38445d;
  content: '';
  -webkit-mask: url(/wp-content/uploads/2018/07/search.svg) no-repeat 50% 50%;
  mask: url(/wp-content/uploads/2018/07/search.svg) no-repeat 50% 50%;
  cursor: pointer;
  margin-right: 30px;
  vertical-align: -50px !important;
  height: 57px;
}

/* Notice mask url changes here */
a.mkhb-textbox-el__link.close:after {
  -webkit-mask: url(/wp-content/uploads/2018/07/close.svg) no-repeat 50% 50%;
  mask: url(/wp-content/uploads/2018/07/close.svg) no-repeat 50% 50%;
}

在 JS 中:

$(document).on("click", ".mkhb-textbox-el__link", function() {

 $( ".search-section" ).slideDown("500" , function() {
     $('a.mkhb-textbox-el__link').addClass('close');
 });

});

关于javascript - 单击时,将搜索图标更改为关闭图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51297029/

相关文章:

javascript - 使用js对象调用其他函数的函数

javascript - 使用 Jquery 从粘性平滑过渡到不粘性

jquery - 使用 jQuery 自动清除 x div 后的 float ? - 例如高低不一的休息设计

javascript - HTML5 本地存储回退解决方案

javascript - 自制 jQuery 无法正确处理事件

javascript - 如何使用 Chrome/Firefox 扩展阻止将新节点添加到 DOM?

javascript - 在 cordova 应用程序上使用 AJAX 功能的最佳方法是什么?

javascript - 使用 Express.js 嵌套路由器休息

javascript - 引用和未引用的 JavaScript 对象属性之间的区别

javascript - 将本地 JavaScript 文件导入到单个 JavaScript 文件中