jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何替换CSS /切换大量元素?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑:问题演变成如何优化大规模的CSS更改为700或更多的div.我将离开下面的旧问题来描述我原来的方法.

我有以下jQuery但它没有像我期望的那样表现.有大约700个div与类gr,所以隐藏它们需要一个明显的时间.我想做:

>单击“显示/隐藏发音”时,立即将该文本更改为“正在工作”
>等到隐藏/显示所有’div.gr’
>“工作”可以追溯到“显示/隐藏发音”

$(document).ready(function () {
 $('#togglePron').click(function() {
   $('#togglePron').html("Working...");
   $('div.gr').toggle();
   $('#togglePron').html("Show/hide Pronunciation");
  });
});
...
... 
<div class="pronlink" id="togglePron">Show/hide P</div>

<div class="gr">hai</div><div class="zi">A</div>
<div class="gr">nao</div><div class="zi">B</div>  
etc.

感谢Mike Lentini there’s a jsfiddle for this question.

This is the full page I’m working on

我观察到的行为是“显示/隐藏P”需要一个明显的时间来改变,然后它会短暂地改变为“工作”,然后它会回到“显示/隐藏”.那么jQuery将html()和.toggle()聚合在一起,而不是首先运行html()吗?

这似乎是浏览器特定的,因为在Opera中它做我想要的.在IE 7和Chrome 18中,行为如我所述.有没有办法让Chrome中我想要的行为发生?或者更好的方式来做我描述的事情?

解决方法

一种方法是使用javascript直接动态修改css样式(不是每个元素).

在您的页面中,每个< td>中的所有文本div都有.其中有一个class =’gr’,内联样式=“display:block;”.首先我移动显示器:块;进入样式表(最好进入第一个位置).

使用这个SO answer(和this page,也就是这个SO answer),我会浏览每个样式表,直到你得到你感兴趣的样式表(在< css />中添加标题将允许你轻松地执行此操作).删除显示块(这是一个简单的stylesheet.deleteRule(< index>)索引将为零,因为你把它放在.css中).添加显示:无;.

这将基本上改变页面的整个css与单独更改PER元素,因为你不得不使用JQuery.

也许不是最受欢迎的解决方案,但仍允许您保留当前的设计(不重复信息)并使用css来实现它的假设(“动态”).

跟进:
很好找到“Totally Pwn CSS with Javascript”.完全是我在你的情况下会做什么(想在这里为后人添加:))

在旁注中,有人应该向JQuery提出功能请求,以便能够轻松地执行此类操作.

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

大佬总结

以上是大佬教程为你收集整理的jquery – 如何替换CSS /切换大量元素?全部内容,希望文章能够帮你解决jquery – 如何替换CSS /切换大量元素?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: