标签: addclass

JavaScript/jQuery 在元素进入视口时添加类?

当我想要应用类的元素进入视口时,有没有办法添加类?或者当屏幕底部超过元素顶部一定距离时?

现在我有我想要使用这样的效果:

if ($(document).scrollTop() > 100) {
                    $(".graph-line.two").addClass("graph-75");
Run Code Online (Sandbox Code Playgroud)

问题在于它是相对于文档高度的,所以当我缩小页面(或在移动设备上查看)并且元素堆叠在一起时,页面变得更高并且类(动画)在元素进入视野。

我看到其他人提出了类似的问题,我试图实施他们得到的答案,但我无法得到任何帮助,因此将不胜感激。

这就是我所拥有的:

if ($(document).scrollTop() > 100) {
                    $(".graph-line.two").addClass("graph-75");
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
  $(".graph-line.one").addClass("graph-75");
  $(".graph-line-2.one").addClass("opacity");
  $(window).scroll(function() {

    if ($(document).scrollTop() > 100) {
      $(".graph-line.two").addClass("graph-75");
      $(".graph-line-2.two").addClass("opacity");
    }

    if ($(document).scrollTop() > 450) {
      $(".graph-line.three").addClass("graph-75");
      $(".graph-line-2.three").addClass("opacity");
    }

    if ($(document).scrollTop() > 800) {
      $(".graph-line.four").addClass("graph-75");
      $(".graph-line-2.four").addClass("opacity");
    }

    if ($(document).scrollTop() > 1150) {
      $(".graph-line.five").addClass("graph-75");
      $(".graph-line-2.five").addClass("opacity");
    }

    if ($(document).scrollTop() > 1500) {
      $(".graph-line.six").addClass("graph-75");
      $(".graph-line-2.six").addClass("opacity");
    }
  });
});
Run Code Online (Sandbox Code Playgroud)
.graph {
  display: block;
  margin: 100px auto;
  transform: rotate(-90deg);
  will-change: transform;
}
.graph-line {
  stroke-dasharray: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery scroll addclass scrolltop

2
推荐指数
1
解决办法
2万
查看次数

如果a有attr rel = lightbox则addClass,问题

我想知道为什么这不起作用?

var attr = $("a").attr('rel');
if (typeof attr == 'lightBox') {
    $(this).addClass("lightbox");
}
Run Code Online (Sandbox Code Playgroud)

我想在一个REL属性设置为"lightBox"的链接中添加一个类.

这应该工作......对吗?

jquery addclass lightbox attr

1
推荐指数
1
解决办法
4562
查看次数

JQuery:addClass不处理具有多个类的元素.为什么?我很困惑!

这非常令人沮丧.这是为表单编写的一些代码的一部分.与验证错误关联的输入元素应显示红色边框.它适用于.css方法,但如果有人能告诉我为什么.addClass方法不起作用,我将不胜感激.

<style type="text/css">
    .field_error{color:red;}
    .red_border{border:1px solid red;}
</style>

<script>
    $(document).ready(function(){
        $('.field_error').siblings().addClass('red_border');
    });
</script>
...
<label class="description" for="element_1">Email Address </label>
            <div>
            <input id="element_1" name="email" class="element text medium" type="text"/> 
                {% if form.email.errors %}
                    <div class="field_error">{{form.email.errors}}</div>

                {% endif %}
                     </div>

                      ..etc..
Run Code Online (Sandbox Code Playgroud)

如果只为一个类分配"element_1",它就可以正常工作.

我也可以这样做:

$('.field_error').siblings().css("border", "1px solid red"); 
Run Code Online (Sandbox Code Playgroud)

但是,我计划在我要添加的类中添加大量内容. 有没有办法让addClass方法工作?

谢谢!!

马特

重要编辑

我忘了在我的代码中添加多个类.难怪有些人感到困惑.请再次查看代码.

<input id="element_1" name="email" class="element text medium" type="text"/> 
Run Code Online (Sandbox Code Playgroud)

解决了

问题是我有css文件已经定义了文本输入元素的边框.现在修复了.感谢大脑和我一起存储的所有人.

jquery addclass element class

1
推荐指数
1
解决办法
2261
查看次数

使用jQuery在hover上添加类到li元素的子元素

问题: 我想在一个li元素的子元素中添加一个类.

HTML代码:

<li class="active">
    <a href="index.html" title="Homepage">Homepage<i class="icon-home"></i></a>
</li>
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

<script type="text/javascript">
    $(document).ready(function()
    {
        $('li[ class="active" ]').hover(
            function(){ $(this).addClass('icon-white') },
            function(){ $(this).removeClass('icon-white') }
        )
    });
</script>
Run Code Online (Sandbox Code Playgroud)

期望的结果:

<li class="active">
    <a href="index.html" title="Homepage">Homepage<i class="icon-home icon-white"></i></a>
</li>
Run Code Online (Sandbox Code Playgroud)

将类添加到特定元素的代码:

<script type="text/javascript">
    $(document).ready(function()
    {           
        if ($('#main-nav > li').hasClass('active') == true)
        {
            $("a > i", this).addClass('icon-white');
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

更新(最终解决方案):

<script type="text/javascript">
    $(document).ready(function()
    {
        $('#main-nav li').hover(function() 
        {
            if ($(this).hasClass('active') != true)
            {
                $('a', this).find('i').toggleClass('icon-white');   
            }
        });

        $("#main-nav li.active > a > i").addClass('icon-white');
    });
</script> …
Run Code Online (Sandbox Code Playgroud)

html jquery addclass hover html-lists

1
推荐指数
1
解决办法
6876
查看次数

jquery toggle css类

这个jquery切换了两件事.(1)css类和(2)显示div.如果我在元素外部单击(菜单切换),切换效果很好,但如果我在元素内部单击,则div切换,但css类不会.这是为什么?

http://jsfiddle.net/aL7Xe/68/上实时预览

我需要添加的css类在第二次点击"菜单切换"时消失.

<div id="menuwrap">
 <a href="#" id="menutoggle">Menu Toggle</a>
 <ul id="menucontainer">
    <li><a href="#">One</a></li>
    <li><a href="#">Two</a></li>
    <li><a href="#">Three</a></li>
 </ul>
</div>
this is more text

<script>
$('html').click(function() {
$('#menucontainer').hide();
$('#menutoggle').removeClass('menutoggle');
});

$('#menuwrap').click(function(event){
 event.stopPropagation();
});

$('#menutoggle').click(function(event){
 $('#menucontainer').toggle();
 $(this).addClass('menutoggle');
});
</script>
Run Code Online (Sandbox Code Playgroud)

css jquery addclass toggle

1
推荐指数
1
解决办法
6825
查看次数

jQuery如何通过一个小延迟逐个向一个元素添加一个类?

jQuery如何在单击#button时将一个类逐个添加到元素中,延迟很小?不要为所有元素一次添加类.我想逐个添加.请帮忙.提前致谢.

<ul id="scroll-set">
<li class="  imVisible">Brentwood</li>
<li class="imVisible ">Antioch</li>
<li class=" imVisible">Pittsburg</li>
<li class=" imVisible">Concord</li>
<li class="imVisible ">Walnut Creek</li>
<li class=" imVisible">Danville</li>
<li class=" imVisible">San Ramon</li>

</ul>
<div id="button">
Run Code Online (Sandbox Code Playgroud)

each jquery addclass element delay

1
推荐指数
1
解决办法
7810
查看次数

删除一个类然后用jquery隐藏它

我有以下代码似乎不起作用.

$("ul li a").live("click", function() {
        $(".myMegaMenuDiv").addClass('hideit').delay(300).removeClass('hideit');
 });
Run Code Online (Sandbox Code Playgroud)

我有一个超级菜单,所以当你将鼠标悬停在一个菜单项上时,它会显示一个div".myMegaMenuDiv".但是,当我单击该div中的链接时,我希望它消失,因为它目前没有.我希望上面的代码可以解决这个问题.

"hideit"添加"display:none"的值

它只在我有"addClass"时有效,但是当我添加"delay"和"removeClass"时它就会停止工作.

编辑:另外...我隐藏".myMegaMenuDiv"后,当我将鼠标悬停在导航菜单项上时,菜单没有显示,所以它也需要删除该类

jquery addclass delay show hide

1
推荐指数
2
解决办法
1112
查看次数

添加类并在div之前插入

我希望能够将类添加"wp"到我"sub-menu dropdown-menu"班级之前的每个锚标记中.我该怎么做呢?

我目前的HTML:

  <a href="google.com">one</a>

  <ul class="sub-menu dropdown-menu">
   <li id="menu-item-5">
    <a href="">five</a>
  </li>
  </ul>

  <a href="google.com">one</a>
  <ul class="sub-menu dropdown-menu">
    <li id="menu-item-5">
      <a href="">five</a>
    </li>
  </ul>
Run Code Online (Sandbox Code Playgroud)

期望的输出

 <a href="google.com" class="wp">one</a>

 <a href="google.com" class="wp">one</a>
Run Code Online (Sandbox Code Playgroud)

jquery addclass insert

1
推荐指数
1
解决办法
1562
查看次数

如何在textarea中的keyup上添加和删除CSS类?

我问了这个问题的早期版本并学会了使用.css来改变课程.但是,我决定使用addClass和removeClass(这将使我将要引入的后续函数更容易).

这是代码和jsfiddle:

$(function(){
   if($.trim($('.text-edit1').val()).length){
      $(this).addClass('active-text');
   });
});
Run Code Online (Sandbox Code Playgroud)

我想要做的就是在用户输入textarea时添加背景颜色,并在删除文本时删除颜色.我试着编写函数的开头但是无法让它工作......

如果有人知道如何做到这一点会很棒.提前致谢!

jquery addclass keyup

1
推荐指数
1
解决办法
4645
查看次数

将添加/删除类隔离到单击的项目

目前我有一个手风琴菜单,每次.responsive-accordion-head点击我告诉它切换类如下:

$('.responsive-accordion-head').click(function () {

    if ( $( '.responsive-accordion-head i' ).hasClass( "plus-2" ) ) {

        $('.responsive-accordion-head i').removeClass("plus-2");
        $('.responsive-accordion-head i').addClass("minus-2");

    } else {
        $('.responsive-accordion-head i').removeClass("minus-2");
        $('.responsive-accordion-head i').addClass("plus-2");
    }

});
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是上面的代码更改了所有.responsive-accordion-head元素的类.我需要它仅针对所点击的项目.我该怎么做呢?

javascript jquery addclass removeclass toggleclass

1
推荐指数
1
解决办法
52
查看次数