2015-05-15 9 views
6

Ich habe versucht, Code anderer nachzuahmen, aber ohne Glück. Wie kann ich Div1 dazu bringen, den linken Rand umzuschalten: 30% wenn DivButton gedrückt wird? Vielen Dank.Animate toggle margin-left von div mit jQuery?

http://jsfiddle.net/3nc62rec/

HTML

<div id="Div1"></div> 
<br><br> 
<div id="DivButton"></div> 

CSS

#Div1{ 
    background:blue; 
    width:50%; 
    height:50px; 
    margin-left:0%; 
} 

#DivButton{ 
    background:green; 
    width:20px; 
    height:20px; 
} 

JS

$('#DivButton').click(function(){     

}); 


/* 
var toggleWidth = $("#Div1").width() == 365 ? "98%" : "365px"; 
$('#Div1').animate({'width': toggleWidth}, 300, resize); 
*/ 

/* 
var toggleMargin = $("#Div1").marginLeft() == 30% ? "10%" : "30%"; 
$('#Div1').animate({'margin-left': toggleMargin}, 300, resize); 
*/ 

Antwort

3
var $div1 = $('#Div1') 
$('#DivButton').click(function() { 
    $div1.toggleClass('isOut') 
    var isOut = $div1.hasClass('isOut') 
    $div1.animate({marginLeft: isOut ? '30%' : '0'}, 300) 
}) 

http://jsfiddle.net/3nc62rec/2/

+0

Neato Burrito, das macht den Trick. :) Vielen Dank. – Sherri

1

können Sie eine Jquery Animation verwenden.

$('#DivButton').animate({marginleft: "30%"}, 500); 
+0

Ich glaube, er das realisiert? Es ist in seinem Quellcode, auskommentiert –

1

Versuchen Sie folgendes:

$('#DivButton').click(function() { 
    $("#Div1").animate({ 
     marginLeft: '30%' 
    }, 500); 
}); 

JSFiddle Demo