首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery添加css并在单击事件后删除它

jQuery添加css并在单击事件后删除它
EN

Stack Overflow用户
提问于 2017-11-09 13:17:40
回答 2查看 673关注 0票数 0

各位,我想知道点击事件后如何删除css样式,

实际上,在第一次单击时,我添加了css并删除了一些其他内容,但是我希望在第二次单击时获得相同的css代码。

代码语言:javascript
复制
$('#show').click(function (){
  $('.sub-menu').css('width', '185px');
  $('.sub-menu').css('-webkit-transform', 'none');
  $('.sub-menu').css('transform', 'none');

  // and second click 

  $('.sub-menu').css('width', '');
  $('.sub-menu').css('-webkit-transform', 'scale(0)');
  $('.sub-menu').css('transform', 'scale(0)');

})

我不想使用toggleclass方法,因为我不想接触css文件。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-09 13:19:52

一个非常简单的选择是保留某种布尔标记。

代码语言:javascript
复制
var applied = false;

$('#show').click(function() {

  if (!applied) {
  
    $('.sub-menu').css('width', '185px');
    $('.sub-menu').css('-webkit-transform', 'none');
    $('.sub-menu').css('transform', 'none');
    applied = true;

  } else { // and second click 

    $('.sub-menu').css('width', '');
    $('.sub-menu').css('-webkit-transform', 'scale(0)');
    $('.sub-menu').css('transform', 'scale(0)');
    applied = false;
    
  }

})

票数 4
EN

Stack Overflow用户

发布于 2017-11-09 13:34:12

您提到您不想接触css文件。不如使用jQuery创建一个css规则并将其附加到head标记中如何?

代码语言:javascript
复制
var rule = $('<style>.myclass{width:185px; -webkit-transform:none; transform:none;}</style>');

$('html > head').append(rule);

$('#show').on('click',function(){
    $('.sub-menu').toggleClass('myclass');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47202854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档