2017-02-04 15 views
3

Ich verstehe die :active Zustand zu einem gewissen Grad, aber ich weiß nicht, wie meine box1 durch Klicken (ohne zu halten.) Umwandeln muss ich klicken und halten Sie die Box für die gesamte Dauer der Transformation.Klicken und halten Maus vs Mausklick einmal

https://jsfiddle.net/kzmhtkog/4/

.wrap { 
 
    width: 100%; 
 
    height:400px; 
 
    overflow:hidden; 
 
} 
 

 
#box1 { 
 
    background-color:red; 
 
    text-align:left; 
 
    cursor: pointer; 
 
    -webkit-transition: width 1s; 
 
    transition: width 1s; 
 
} 
 

 
#box1:active { 
 
    width: 100%; 
 
    background-color: red; 
 

 
} 
 

 
.floatleft { 
 
    float:left; 
 
    width: 33.33%; 
 
    background-color: black; 
 
    height: 400px; 
 
}
<div class="wrap"> 
 
    <div class="floatleft" id="box1"> 
 
    </div> 
 
</div>

+0

So auf klicken Sie die Box 100% Breite gehen wollen? Sollte es wieder normal gehen, wenn Sie erneut klicken? – caramba

+0

Ja, das wäre exzellent – Stack

+1

Es gibt eine ': focus' Lösung hier: http://StackOverflow.com/a/17207437/2008111 aber dann können Sie die Box nicht wieder schließen. Sie werden also wirklich Javascript verwenden müssen, aber Sie müssen jQuery nicht verwenden. – caramba

Antwort

1

Sie würden jQuery oder haben Javascript verwenden.

$('#box1').click(function() { 
 
    $(this).toggleClass('active'); 
 
});
.wrap {       
 
    width: 100%;     
 
    height:400px;     
 
    overflow:hidden;    
 
}        
 
           
 
#box1 {       
 
    background-color:red;   
 
    text-align:left;    
 
    cursor: pointer;    
 
    -webkit-transition: width 1s; 
 
    transition: width 1s;   
 
}        
 
           
 
#box1.active {     
 
    width: 100%;     
 
    background-color: red;   
 
           
 
}        
 
           
 
.floatleft {      
 
    float:left;     
 
    width: 33.33%;     
 
    background-color: black;  
 
    height: 400px;     
 
}       
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="wrap">     
 
    <div class="floatleft" id="box1"> 
 
    </div>        
 
</div>

+0

Wissen Sie, was das entsprechende Javascript dafür ist? Neu in der Programmierung und nicht sicher, wo ich anfangen soll. – Stack

+0

Es ist nicht annähernd so "hübsch". Sie können mit systemeigenen JavaScript-Ereignissen beginnen: https://developer.mozilla.org/en-US/docs/Web/Events/click – Tallboy

Verwandte Themen