2012-02-10 3 views
0

Я работаю над проектом, в котором мне требуется ширина изображения из href, когда я нажимаю на определенное изображение ширину, если изображение отображается в предупреждении.Получение ширины изображения из тега href вместо img tag

следующее является HREF и изображения кода я использую

<li> 
     <a href="<?php echo $pic;?>?id=<?php echo $id;?>&pic=<?php echo $picID;?>" data-title="" data-desc=" " data-rel="group2" data-bw="<?php echo $pic;?>" class="lightbox" id="plzx" > 
     <img src="<?php echo $pic;?>" width="160" height="160" title="Click To View"/></a>      
    </li> 

всякий раз, когда я пытаюсь получить ширину изображений он принимает ширину изображений из IMG тега не из HREF. поскольку ширина тега img уже определена «160». есть способ возможно для получения ширины изображения от <a href

Я использую следующий код, который NIT работает

$('a').click(function() { 
     var image = $("<img />").attr("src", $(".lightbox").attr("href")); 
     $(document).append(image); 
     alert(image.height()); 
     alert(image.width()); 
     image.remove(); 
    }); 

HTML-код

 <li> 
        <a href="uploads/kareena-kapoor-144a_$1$Ni5.St4.$kPORmHFjcfGBJjn2KHSis0.jpg?id=3&pic=101" data-title="" data-desc=" " data-rel="group2" data-bw="uploads/kareena-kapoor-144a_$1$Ni5.St4.$kPORmHFjcfGBJjn2KHSis0.jpg" class="lightbox" id="plzx" > 

        <img src="uploads/kareena-kapoor-144a_$1$Ni5.St4.$kPORmHFjcfGBJjn2KHSis0.jpg" width="160" height="160" title="Click To View"/></a> 

    </li>   
+0

где у у вас установлена ​​ширина и высота в 'href' ?? – diEcho

+2

Когда вы говорите «получите ширину от href», что вы имеете в виду? Вы имеете в виду, что href изображения содержит ширину, на которую подается изображение? Например, '' и вы хотите получить '200' из строки, или хотите загрузить изображение и определить ширину изображение, которое было подано динамически? – DaveRandom

ответ

3

основе что-то вроде:

<a href="/path/to/big.jpg"><img src="/path/to/small.jpg"></a> 

Это следует сделать это:

$('a').click(function() { 
    $(new Image()).load(function() { 
     alert(this.width); // image width 
     alert(this.height); // image height 
    }).attr('src', this.href); 
}); 

Update: Если вам нужно, чтобы продолжить свою программу с использованием ширина/высота, попробуйте:

var width,height; 
$('a').click(function() { 
    $(new Image()).load(function() { 
     width = this.width; 
     height = this.height, 
     onLoaded(); 
    }).attr('src', this.href); 
}); 
function onLoaded() { 
    alert(width); 
    alert(height); 
    // continue... 
} 

Вам не нужно, чтобы добавить временное изображение в документ, но вам нужно добавить слушателя нагрузки, прежде чем извлекать ширину/высоту.

Помните, что расширение AdBlock может повлиять на результат извлечения в webkit, поэтому, пожалуйста, отключите его при отладке.

+2

он должен быть '.attr ('src', this.href);' Я думаю – devnull69

+0

@ devnull69, конечно, thanx! – David

+0

спасибо большое @David и devnull69 за его работу. может у, пожалуйста, скажите мне, как сохранить ширину в var –

Смежные вопросы