javascript - 平滑过渡 removeClass

标签 javascript jquery html css jquery-ui

我看了其他问题,似乎没有人遇到与我相同的问题,这总是令人兴奋!

当您到达页面时,我试图让页面内容看起来更整洁。一切都被 CSS 屏蔽掉了。单击一个大链接可删除所有编辑效果。我已经成功地让 jQuery 删除了编辑过的样式类,但它根本没有动画。我正在使用 jQuery UI 库。我看到有人提到它不适用于 !important 属性,有或没有我都没有区别,没有 !important 我无法覆盖这些属性。

请帮助obiwan,你是我唯一的希望!

** 请注意,我正在尝试使用 JQuery UI 功能,而不是直接使用 Jquery**

效果示例:http://api.jqueryui.com/removeClass/

JS FIDDLE

Live dev site

查询

$(document).ready(function(){
    $("#educate").addClass("redactedtext redactedblocks" );
    $("#join").click(function() {
      $("#educate").removeClass("redactedtext redactedblocks", 1000 );
      $('#join').contents().unwrap();
    });
});

和 PHP/正文

<article class="row">
  <article class="twelve columns mastblock predacted " id="make">
    <p><a href="#" id="join">Join</a> us in making a <strong>new</strong> kind of documentary</p>
  </article>
</article>

<section class="row " data-match-height >
  <article class="radius-top-left medium-4 columns mastblock " id="educate">
    <h1>Educational</h1>

    <p>Find out what is behind the actions that lead to slavery, human trafficking, and forced Labour. Have a more complete picture on why slavery still exsists.</p>

    <p>Learn more&#8230;</p>
  </article>

预期的 Action 是点击按钮,看到黑色逐渐消失,颜色恢复。

最佳答案

CSS Animation 为这个问题提供了一个更通用的解决方案。适用于所有主流浏览器(有一些注意事项...)

这是一个示例,基于我认为您要实现的目标...

http://jsfiddle.net/adrianjmartin/xLpft/

<style>
.redacted {
  background-color:black;
  color:black;
 }

 @keyframes unredact{
  to{
   background-color:white;
   }
  }
 @-webkit-keyframes unredact{
    to{
    background-color:white;
 }
}

</style>

<script>
  window.addEventListener( "load" , function(){

  var p = document.querySelectorAll("P");



  for( var ii = 0 ; ii < p.length ; ii++ ){

    var t = p[ii].textContent;
    var a = t.split( ' ' );
    var h = "";

    for( var i = 0 ; i < a.length ; i++ ){
      h += "<span class='redacted'>"+a[i]+" </span>";
    }
    p[ii].innerHTML = h ;
    }

  });

  window.addEventListener( "click" , function(){

    var spans = document.querySelectorAll( "P span.redacted");
    for( var i = 0; i < spans.length ; i++ ){
    var delay = Math.random(3);

       var delay = Math.random(3);
    var style = "-webkit-animation: unredact forwards 3s " + delay + "s;";
        style += "animation: unredact forwards 3s " + delay + "s";
    }
  });
</script>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce quis fringilla nisi. Curabitur vitae mi ultrices nunc sodales sodales at eget est. Aenean placerat eleifend lorem sed congue. Vivamus rutrum mi tempus leo interdum, vel volutpat velit consequat. Pellentesque eu sem metus. Nullam quis mauris ultrices augue blandit consequat. Vestibulum sollicitudin odio sed lobortis lacinia. Vivamus semper est et sapien ultrices, non vestibulum sapien tincidunt. Vivamus nunc neque, tincidunt ut arcu quis, bibendum hendrerit odio. Suspendisse id molestie ligula. Nulla dapibus venenatis tellus, egestas imperdiet velit pretium pellentesque. Mauris risus nibh, feugiat et magna sit amet, malesuada sagittis tellus. Curabitur porta, turpis ac tincidunt pharetra, augue est sodales ipsum, vitae pharetra eros nisl nec ante. Duis mattis volutpat est, in hendrerit urna mattis sed.<p>

<p>In bibendum nisl sit amet libero tempus ullamcorper. Vivamus a augue scelerisque, fermentum lorem et, vehicula justo. Praesent aliquet venenatis libero eget bibendum. Nam imperdiet fermentum libero et sagittis. Fusce varius posuere arcu, convallis varius ante aliquam ac. Proin eu nisi commodo, interdum erat vitae, iaculis massa. Fusce quis elit ac lacus viverra adipiscing. In hac habitasse platea dictumst. Sed sodales mauris non condimentum ultricies. Maecenas at venenatis arcu. Vestibulum scelerisque lacinia libero, eu tincidunt diam egestas eu. Suspendisse eu eros nulla. Ut dignissim nisl sed turpis tristique aliquam.
</p>

关于javascript - 平滑过渡 removeClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400984/

相关文章:

javascript - 第二次单击按钮不起作用(JQuery)

java - 如何在线从不完整的网页(仅限 HTML)获取 HTML 表格内容?

css - 在另一个 div 上放置和对齐一个 div

javascript - Brightcove 视频播放器无法在 Jquery Mobile 中运行

javascript - 为什么某些 html 元素需要 Angular.JS 指令,而其他元素则不需要?

javascript - 在 jQuery Mobile 中实现由各种事件触发的幻灯片动画

javascript - jquery .done() 中的异步回调函数未执行

jquery - 如何同时替换DIV的内容和类名

html - 如何将多个 Struts 文本字段以一种形式放置到 4 个单独的 block 中?

javascript - 如何根据插入符位置分割可编辑内容