2017-01-13 2 views
2

Ich habe eine Box Div und es hat Header und Körper. Enthält ein div mit einem Hintergrundbild.Resize div mit jquery javascript und dehnen Hintergrundbild

setInterval(function(){ 
 

 
    var height = $(".box").height(); 
 

 
    $(".box").height(height+2) 
 

 
}, 1000);
.box{  
 
    height: 100%; 
 
    background-color: #22ff2f; 
 
    width:350px; 
 
} 
 
.box-header{position:inherit; background-color:#9ed;width:100%;} 
 
.box-body{} 
 

 
.window{ 
 
    background-position: center; 
 
    background-size: cover; 
 
    background-image: url('http://dailybestlike.com/wp-content/uploads/2015/07/simple-ideas-products-11.jpg'); 
 
    min-height:190px; 
 
    width:100%; 
 
    height:100%; 
 
    position:relative; 
 
    text-align:center; 
 
    overflow:hidden; 
 
     }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="box"> 
 
    <div class="box-header"> 
 
    header 
 
    </div> 
 
    <div class="box-body"> 
 
    <div class="window"> 
 

 
    </div> 
 
    </div> 
 
</div>

enter image description here

mein .box ist eine veränderbare Feld, so wird es mit der Maus

Aber Bild strecken nicht die Box Größe ändern werden. Ich möchte dies mit CSS-Eigenschaften tun. Ich möchte keine Größe mit Javascript einstellen. Ist das möglich?

WORKİNG DEMO

+0

kann man einfach nicht die Höhe des '.box-body' erhöhen? [Like this.] (Https://jsfiddle.net/Lrp2frq1/) – insertusernamehere

+0

Sie möchten Bild richtig strecken? Egal, ob JavaScript verwendet wird. – rahulsm

+1

Ihr '.window' skaliert nicht mit der wachsenden' .box' –

Antwort

0

Try this,

<div class="box"> 
    <div class="box-header"> 
    header 
    </div> 
    <div class="box-body"> 
    <div class="window"> 

    </div> 
    </div> 
</div> 

JS Code:

setInterval(function() { 
    var height = $(".window").height(); 
    $(".window").css({ 
    'height': height + 100 
    }); 

}, 1000); 

Dieser Code wird Ihr Bild strecken.

+0

, aber ich ändere .box Größe, .box ist in der Größe veränderbar. – barteloma

+0

Sie möchten Bild oder .box strecken? –

0

Sie müssen Höhe für Ihre .box-header hinzufügen, und danke, dass Sie Ihre .box-body Höhe berechnen können. Jetzt funktioniert Ihre height:100%; in .window ordnungsgemäß. diese

Check:

setInterval(function(){ 
 

 
     var height = $(".box").height(); 
 

 
     $(".box").height(height+2) 
 

 
}, 1000);
.box{  
 
     height: 100%; 
 
     background-color: #22ff2f; 
 
     width:350px; 
 
     } 
 
    .box-header{ 
 
     position:inherit; 
 
     background-color:#9ed; 
 
     width:100%; 
 
     height: 20px; 
 
    } 
 
    .box-body{ 
 
     height: calc(100% - 20px); 
 
} 
 

 
    .window{ 
 
     background-position: center; 
 
     background-size: cover; 
 
     background-image: url('http://dailybestlike.com/wp-content/uploads/2015/07/simple-ideas-products-11.jpg'); 
 
     min-height:190px; 
 
     width:100%; 
 
     height:100%; 
 
     position:relative; 
 
     text-align:center; 
 
     overflow:hidden; 
 
    }
<div class="box"> 
 
     <div class="box-header"> 
 
     header 
 
     </div> 
 
     <div class="box-body"> 
 
      <div class="window"> 
 

 
      </div> 
 
     </div> 
 
</div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Wenn Sie eine dynamische Höhe des Kopf haben wollen, können Sie dynamisch es in Javascript berechnen.

0

Ändern Sie nicht .box height, wenn das Hintergrundbild verkleinert werden soll, ändern Sie die .window height!

https://jsfiddle.net/t87tjmmk/

setInterval(function(){ 

    var height = $(".box").height(); 

    $(".window").height(height+2); }, 1000); 
+0

Entschuldigung jsfiddle Verbindung ist falsch - https://jsfiddle.net/t87tjmmk/1/ –

+0

meine .box ist eine größenveränderbare Box, so wird es Größe mit Maus geändert werden – barteloma

0

ich erreicht, was Sie hier wollen. See Demo here

HTML

<div class="box"> 
    <div class="box-header"> 
     header 
    </div> 
    <div class="box-body"> 
     <div id='w' class="window"> 
     </div> 
    </div> 
</div> 

JavaScript

var w=document.getElementById('w'); 
    var x=192; 

    setInterval(function(){ 

     var height = $(".box").height(); 
     $(".box").height(height+2); 
    w.style.minHeight=x+"px"; 
    x+=2;  
    },90); 

CSS

.box{  
     height: 100%; 
     background-color: #22ff2f; 
     width:350px; 
     } 
    .box-header{position:inherit; background-color:#9ed;width:100%;} 
    .box-body{} 

    .window{ 
     background-position: center; 
     background-image: url('http://dailybestlike.com/wp-content/uploads/2015/07/simple-ideas-products-11.jpg'); 
     min-height:190px; 
     width:100%; 
     height:100%; 
     position:relative; 
     text-align:center; 
     overflow:hidden; 
     background-repeat:no-repeat; 
     background-size: 100% 100%; 

    }