Размер изображения
Есть сайт http://salan-school.ru/ . В новостях есть фотографии, при клике они увеличиваются, горизонтальные отображаются хорошо а вертикальные не влазят. Как исправить? Пробовал так не получилось:
$(".im").load(function() { var height = $(this).height(); var width = $(this).width(); var im = $("#im"); if (height > width) im.attr("height","600"); else im.attr("width","1024"); }); |
if (height > width)
if (height > width) im.css({height:600, width:'auto'}); |
так тоже не работает
|
<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(function() { $('img').click(function() { $(this).css({height:250, width:"auto"}); }); }); </script> </head> <body style="width: 400; height: ;"> <img src="http://cs306502.userapi.com/v306502055/5061/_7hhTxZUzkY.jpg" /> </body> </html> Работает? |
У вас
$(".im").load(function() а изменение высоты для var im = $("#im"); кто из них прав? |
класс im у всех картинок которые надо увеличить, когда нажимаешь на одну из этих картинок путь к этой картинки подставляется в блок с id im
<table id="FixedBlack" style="position: fixed; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.50); display: none; opacity: 0;"> <tr> <td style="text-align: center;"> <img src="images/close.png" alt="" class="close"> <img src="" id="im" style="position: relative; width: 1024px; background: #000; box-shadow: 0 0 10px white; border: 5px solid #fff; border-radius: 6px;" /> </td> </tr> </table> $(document).on("click", ".im", function () { if ($(this).attr("src") != "") { $("#im").attr("src", $(this).attr("src")); $("#FixedBlack").show().fadeTo(200, 1); $("#im").show().fadeTo(0.5, 1); } }); $(document).on("click", "#FixedBlack", function () { $("#im").hide(); $("#FixedBlack").stop(true).fadeTo(200, 0, function () { $("#FixedBlack").hide(); }); }); |
qwerty14,
попробуйте так ... замените ваш код 1-7 на этот $(document).on("click", ".im", function() { if (this.src) { $("<img/>").load(function() { var l = $(window).height() - 40; var w = (this.width / this.height) * l; if (w > $(window).width()) { l = $(window).width() - 60; l = { width: l + 'px', height: 'auto' } } else { l = { height: l + 'px', width: 'auto' }; } $("#im").css(l).attr({ "src": this.src }); $("#FixedBlack").show().fadeTo(200, 1); $("#im").show().fadeTo(0.5, 1); }).attr({ "src": this.src }); } }); |
Спасибо все работает!!)
|
Часовой пояс GMT +3, время: 11:07. |