JavaScript Kit > IE Filters reference > Transitions > Here
 Barn Transition (filter)
Barn Transition (filter)
        The Barn Transition reveals a content using the effect of opening/ closing doors. Defined via IE's CSS filter property and applied through JavaScript, here is its basic syntax:
Syntax:
filter :progid:DXImageTransform.Microsoft.Barn(attribute1=value1, attribute2=value2, etc);
Syntax (post IE8):
-ms-filter: "progid:DXImageTransform.Microsoft.Barn(attribute1=value1, attribute2=value2, etc)";
Note: See "Difference in syntax between pre IE8 and IE8+ browsers" for more info on the changes to the filter syntax in IE8+.
Example:
<style type="text/css">
        
        #somediv{
        width: 90%;
        -ms-filter: "progid:DXImageTransform.Microsoft.Barn(duration=5)";
        filter :progid:DXImageTransform.Microsoft.Barn(duration=5);
        }
        
        </style>
        
        
        <div id="somediv">Some DIV</div>
Syntax Via Scripting
//To define a new Barn filter on an element
        object.style.filter ="progid:DXImageTransform.Microsoft.Barn(attribute=value1, attribute2=value2)"
        
        To access an existing property within the Barn filter:
        object.filters.item("DXImageTransform.Microsoft.Barn").Property1=value1;
        
        //To access an existing property within the Barn filter via the filters[] object
        object.filters[x].Property1=value1 //where "x" is the position of the filter within list of filters on element
Below lists the attributes/properties of the Barn Transition:
 Barn Transition attributes (properties)
 Barn Transition attributes (properties)
        | Attributes/ Properties | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| duration | Sets the duration of time the transition takes to complete, in seconds. No default value. Valid values: Floating point number greater than 0 (seconds implied, ie: 2.5 means 2.5 seconds) Example: <style type="text/css"> | ||||||||
| enabled | Sets/ returns whether the filter is enabled or not. Default is true.Valid values: true/ false | ||||||||
| motion | Sets whether the new content is revealed from the outside or the inside first. Default is out.Valid values: "in" or "out". | ||||||||
| orientation | Sets whether the transition effect is vertical or horizontal. Default is vertical.Valid values: "vertical" or "horizontal". | ||||||||
| Percent * This property accessible via scripting only | Sets the point in which to capture the display of the content to apply the transition on. Default is 0. Valid values: 0 - 100 (percentage implied) | ||||||||
| status | Returns the current state of the transition. Valid values: 
 Example: <script type="text/javascript"> | 
 Barn Transition methods
 Barn Transition methods
        | Methods | Description | 
|---|---|
| apply() | Captures the initial display of the content in preparation for the transition to be played (using the play()method). No visible changes to the content made at this point. | 
| play([duration]) | Plays the transition in question. Supports an optional durationparameter that, if set, overrides the value of the duration property above in specifying the duration of the transition (in seconds).Example: <style type="text/css"> | 
| stop() | Stops the transition playback. | 
 Barn Transition Demo
 Barn Transition Demo
        
        
Beautiful castle for sale.
Source:
<style type="text/css">
        
        #sample{
        -ms-filter: "progid:DXImageTransform.Microsoft.Barn(duration=3)";
        filter: progid:DXImageTransform.Microsoft.Barn(duration=3);
        width: 230px;
        height: 230px;
        background-color: black;
        padding: 10px;
        color: white;
        }
        
        </style>
        
        
        <div id="sample">
        <img src="castle.jpg" /><br />
        <b>Beautiful castle for sale.</b>
        </div>
        
        <p><a href="javascript:playtransition()">Play Transition</a></p>
        
        <script type="text/javascript">
        
        var sample=document.getElementById("sample")
        
        function playtransition(){
        sample.innerHTML='<img src="castle.jpg" /><br /><b>Beautiful castle for sale.</b>' //reset DIV to original content (in case demo is run more than once).
        sample.filters[0].apply() //capture initial state of image (showing "castle.gif")
        sample.innerHTML='<img src="castleinside.jpg" /><br /><b>Interior is elegant yet modern!</b>'
        sample.filters[0].play() //play transition to reveal new image and description
        }
        
        </script>
