jquery onclick添加margin-left

时间:2014-03-03 12:32:00

标签: javascript jquery css onclick

我正在尝试JS中的一些非常简单的东西,但我不能让它工作......

我想点击一个div来向另一个div添加一个负余量 - 但我希望每次点击div时都会发生这种情况,不仅仅是现在的一次。 Eveytime我点击我的#next_nav,我希望#nav从10px负数移动。 这里只能工作一次。 这是我的js:

$(function() {
  $('#next_nav').click(function () {
     $( "#nav" ).css('margin-left','-10px');
  });
});

和我的HTML:

<div id="next_nav"></div>
<div id="nav"></div>

这是我的JSfiddle:http://jsfiddle.net/Beyzd/

任何人都可以帮我这个吗? 非常感谢,

7 个答案:

答案 0 :(得分:12)

在您的值前添加=

$(function() {
    $('#next_nav').click(function() {
       $('#nav').css('margin-left', '-=10px');
    });
});

<强> Working Fiddle

修改

如果要为其设置动画,请使用animate()方法。这是fiddle给你的。

答案 1 :(得分:1)

你可以试试这个

var pixels=0;
$(function() {
    $('#next_nav').click(function () {
       pixels=pixels-10;      
       $( "#nav" ).css('margin-left',pixels);
    });
});

Working fiddle is available here.

答案 2 :(得分:1)

检查jsFiddle

   $(document).ready(function (){
       $("#next_nav").on("click", function() {
          var $left = $("#nav").css('margin-left');
          var $newval = (parseInt($left) - 10) + "px";
          $("#nav").css ({
            'margin-left' : $newval
          });
       });
   });

答案 3 :(得分:0)

$(function() {
  var count=0;
  $('#next_nav').click(function () {
  count-=10;

$( "#nav" ).css('margin-left',count);
});
});

并包含jQuery

答案 4 :(得分:0)

为您修复: Updated version

.css('margin-left','-10px');修改为.css({'margin-left' : '-10px'});

答案 5 :(得分:0)

试试这个:

$(function() {
$('#next_nav').click(function () {
  marginleft=parseInt($( "#nav" ).css('margin-left').replace('px',''));
  $( "#nav" ).css('margin-left',marginleft-10+'px');
});
});

<强> Working Fiddle

答案 6 :(得分:0)

只需更改此$( "#nav" ).css('margin-left','-=10px');

即可