2013-04-25 12 views
6

मेरे पास एक छवि है जिसमें चौड़ाई 100% और 1024px की न्यूनतम चौड़ाई है। मैं छवि पर अपना 'छाया' div रखना चाहता हूं, और खिड़की के आकार में बदलाव के रूप में इसकी ऊंचाई से मेल खाता हूं, जिससे छवि का आकार खिड़की चौड़ाई में आनुपातिक रूप से बदल जाता है। मेरा वर्तमान कोड कुछ भी नहीं करता है ...गतिशील छवि ऊंचाई के साथ jQuery मिलान div ऊंचाई

टेम्पलेट यहां http://jordan.rave5.com/tmp/ है, आप देखेंगे कि बैकग्राउड-ओवरले और पृष्ठभूमि-ग्रेडियेंट divs दस्तावेज़ का 100% विस्तार नहीं करते हैं। यह एक और समस्या है। जबरदस्त हंसी। मैं उन्हें बीजी 100% चौड़ाई और ऊंचाई होने की कोशिश कर रहा हूं।

jQuery:

  $('.header-img').css('height', function(imgheight) { 
       $('.image-grad').css({'height': + imgheight}); 
      }); 

सीएसएस:

  .image-grad { 
       position: absolute; 
       z-index: 600; 
       transition: width 2s; 
       -webkit-transition: width 2s; 
       width: 100%; 
       min-height: 174px; 
       max-height: 608px; 
       background-image: url(images/header-img.png); 
       background-repeat: repeat-x; 
       background-position: bottom; 
       top: 0; 
       left: 0; 
      } 

      .header-img { 
       position: relative; 
       z-index: 500; 
       width: 100%; 
       min-width: 1024px; 
       opacity: 0.0; 
      } 

HTML:

    <img class="header-img" src="slides/fields.jpg" alt="Panoramic Fields" /> 
        <div class="image-grad"></div> 

मैं ऐसा कर सकते हैं कैसे?

+0

आप अपने प्रश्न के बाहर एक बेला बना सकते हैं? यह आसान होगा – ripu1581

+0

yup एक बेवकूफ़ बनाओ और मैं आसान होगा –

+0

एक पहेली बनाना मुश्किल है क्योंकि यह सही ढंग से काम नहीं करता है (बक्से के लिए खिड़की का कोई आकार बदलना नहीं) मैं सिर्फ मेजबान को टेम्पलेट अपलोड कर सकता हूं – WASasquatch

उत्तर

3

आप div का उपयोग कर .height

आप निम्नलिखित की तरह कुछ कर सकते हैं की ऊंचाई निर्धारित करने की आवश्यकता:

http://jsfiddle.net/Q4DRp/

var imageGrad = $('.image-grad'), 
    image = $('.header-img'); 

function resizeDiv() { 
    imageGrad.height(image.height()); 
    imageGrad.width(image.width()); 
} 

resizeDiv(); 

$(window).resize(function() { resizeDiv(); }); 
+0

क्या शुरुआती लोड में ऊंचाई 324 पर सेट करने का कोई तरीका है? ऐसा प्रतीत होता है कि जब पहली बार लोड होता है तो छवि की ऊंचाई वास्तविक छवि ऊंचाई होती है, न कि विस्तारित संस्करण। – WASasquatch

+1

@WASasquatch 'document.ready' के बजाय' window.onload' पर 'resizeDiv' फ़ंक्शन चलाता है, अन्यथा आप' imageGrad.height (324) ' – Pete

+0

का उपयोग करके ऊंचाई सेट कर सकते हैं धन्यवाद, बहुत सराहना की। यदि आप जानते हैं कि मेरी निश्चित पृष्ठभूमि के साथ क्या चल रहा है अब स्क्रोल करने योग्य है जो भी एक बड़ी मदद होगी। – WASasquatch

1

इसकी सहायता से आप अपने छाया छवि का आकार:

समाधान (नहीं परीक्षण किया)

$('.image-grad').css('height', $('.header-img').attr('height')); 

अपनी छवि की ऊंचाई पाने के लिए, का उपयोग .attr ('ऊंचाई')। फिर div की ऊंचाई सेट करने के लिए, .css ('height', '999') का उपयोग करें।

+0

के बारे में उठाया है, मैं बाहरी हाइट का उपयोग करने की सलाह देता हूं () ऊंचाई प्राप्त करने के लिए (पैडिंग जोड़ता है लेकिन मार्जिन नहीं) और नया तत्व .height() के साथ सेट करें - मैं एक पूर्ण उत्तर लिखूंगा लेकिन आज व्यस्त व्यस्त हूं। –

संबंधित मुद्दे