Increment css top property using jquery

前端 未结 5 1339
醉话见心
醉话见心 2020-12-24 02:03

I have the following div :

What is the best way to

相关标签:
5条回答
  • 2020-12-24 02:07

    I would say create a variable, increment the variable, and then reset the property using the new value, like this

    var topProperty = 0;   //You can also populate this variable with the current value.
    

    then in your click event

    {
    topProperty += 10;
    $('#new').css('top', topProperty + 'px');
    }
    
    0 讨论(0)
  • 2020-12-24 02:09

    You can use the parseFloat function to get only the initial numeric part and convert it from a string to a number. For example:

    var n = $('#new');
    n.css('top', (parseFloat(n.css('top')) + 10) + 'px');
    

    As a side note, if you want to change multiple elements' positions all at once, that could be:

    $('.someClass').css('top', function(i, v) {
        return (parseFloat(v) + 10) + 'px';
    });
    

    But if you are just trying to animate an element over time, take a look at jQuery's .animate method.

    0 讨论(0)
  • 2020-12-24 02:26
    var el = $('#new');
    el.css('top', (parseInt(el.css('top'), 10) + 10) + 'px');
    
    0 讨论(0)
  • 2020-12-24 02:30
    var New = $("#new");
    
    function onEvent()
    {
       New.css("top", parseFloat(New.css("top")) + 10 + "px");
    }
    

    by adding the seconds parameter of to css your setting the property.

    0 讨论(0)
  • 2020-12-24 02:32

    The simplest way is to use the += operator:

    $( '#new' ).css( 'top', '+=10px' );
    
    0 讨论(0)
提交回复
热议问题